最初の文字列と最初の文字列>
の間の最初の文字列を_
最初の文字列の後の2番目の位置に移動したいと思います。_
これを変更する方法は次のとおりです。
>10E13JB10_Vacares_8__a1
blablabla
>10E13JB10_Vacares_8__a2
blablabla
>10E2JB10_Mulhacen_13__a1
blablabla
以下を入力してください:
>Vacares_10E13JB10_8__a1
blablabla
>Vacares_10E13JB10_8__a2
blablabla
>Mulhacen_10E2JB10_13__a1
blablabla
ベストアンサー1
sed -e 's/^>\([^_]*\)_\([^_]*\)/>\2_\1/' -i file
で終わる最初の2つの文字列を見つけて、_
置換の順序を逆に置き換えます。最初の2つの文字列とのみ一致するため、行の残りの部分は変更も削除もされません。
s/aaa/bbb/
- 置換を実行して、次の項目をすべて置き換えますaaa
。bbb
^
- 行の始まり\(...\)
-キャプチャグループ、一致する文字列を次のように保存します\1
。\2
[^_]*
-ㅏキャラクタークラス以下を除くすべての文字と一致します。_