ファイルの特定の行に末尾の単語を追加する

ファイルの特定の行に末尾の単語を追加する

たとえば、次のような多くの行を含むファイルがあります。

AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm
DDD GAGAGAGAGA

AAA IIIII
BBB OOOO
CCC YYYYY

...など

CCCで始まるすべての行の終わりに特定の単語を追加したいと思います。

例えば。 「smile」という単語を追加すると、結果は次のようになります。

AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm smile
DDD GAGAGAGAGA

AAA IIIII
BBB OOOO
CCC YYYYY smile

何をすべきか教えていただけますか?

答え1

sed -i.backup '/^CCC/s/$/ smile/' data.txt

このsedコマンドとプログラムを見てください。

  1. sed -i.backup内部モード - 入力ファイルを編集し(オプションで)サフィックス(.backup)を使用して元のファイルをバックアップします。
  2. /^CCC/検索正規表現 - ^CCC()で始まる文字列。
  3. s/$/ smile/s/$/string() の終わりを見つけて smile( smile/) に置き換えます。

答え2

努力する:

sed -E 's/^(CCC.+)/\1 smile/' <data.in >data.out

その場で編集することもできます。

sed -i -E 's/^(CCC.+)/\1 smile/' data.dat

関連情報