sed:文字列の末尾の文字に基づいて文字列の先頭を置き換えますか?

sed:文字列の末尾の文字に基づいて文字列の先頭を置き換えますか?

行末の数字に基づいてsedaまたはaを挿入しようとしています。行で終わる場合は、で始まる行が必要です。行で終わる場合は、で始まる行が必要です。foobar1foo2bar

次の解決策を試しましたが、詰まっています。

sed -e 's/^/foo/;s/:1$/:1/' input.txt
sed -e 's/:1$/^foo/' input.txt

入力する

aaaaa:1
bbbbb:2
ccccc:1

希望の出力

fooaaaaa:1
barbbbbb:2
fooccccc:1

ベストアンサー1

あなたはできますテキスト一致で行を選択そして、個々の代替項目を適用します。

$ sed -e '/:1$/s/^/foo/' -e '/:2$/s/^/bar/' input
fooaaaaa:1
barbbbbb:2
fooccccc:1

おすすめ記事