sedの出力をファイルに追加する

sedの出力をファイルに追加する

スクリプト ファイルが 2 つあります。 と ですfile1file2の内容を取得しfile1、 の文字を に変更し、aの内容を変更せずにに出力を追加したいと考えています。次のように試しています:Afile1file2file1

sed -i ‘s/a/A/g’ file1 >> file2

しかし、これは の を変更するaだけAですfile1

答え1

フラグを削除するだけです-i:

sed 's/a/A/g' file1 >> file2

フラグ-iは指定されたファイルをその場で編集するために使用されるのでfile1man sed:

-i[SUFFIX], --in-place[=SUFFIX]

       edit files in place (makes backup if SUFFIX supplied)

file2を使用するとに何も追加されない理由は、が指定されたファイルに追加されるために使用される-iためです。しかし、 により がその場で編集されるため、出力は生成されず、 には何も追加されません。>>stdoutfile1-ifile2

関連情報