
スクリプト ファイルが 2 つあります。 と ですfile1
。file2
の内容を取得しfile1
、 の文字を に変更し、a
の内容を変更せずにに出力を追加したいと考えています。次のように試しています:A
file1
file2
file1
sed -i ‘s/a/A/g’ file1 >> file2
しかし、これは の を変更するa
だけA
ですfile1
。
答え1
フラグを削除するだけです-i
:
sed 's/a/A/g' file1 >> file2
フラグ-i
は指定されたファイルをその場で編集するために使用されるのでfile1
、man sed
:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
file2
を使用するとに何も追加されない理由は、が指定されたファイルに追加されるために使用される-i
ためです。しかし、 により がその場で編集されるため、出力は生成されず、 には何も追加されません。>>
stdout
file1
-i
file2