0

ファイル内の検索と置換にGNUSedコマンド(GNU sedバージョン4.2.1)を使用しています。入力ファイルをそのままにしておきたいので、sedのファイル書き込みオプションを使用しています。

以下はコマンドです

sed -e "s/INSERT/UPDATE/w  output.txt" "input.txt"

しかし、上記のコマンドの問題は、一致しない行を書き込まないことです。つまり、検索対象のテキストが見つからない場合、その行はoutput.txtファイルに書き込まれません。

一致しない行をoutput.txtに書き込みたい

これをどのように達成できますか?

4

1 に答える 1

1

w別のコマンドとして使用します。つまり、次のようになります。

sed -e 's/INSERT/UPDATE/' -e 'w output.txt' input.txt

または、sedサポートしている場合は、セミコロンを使用できます。

sed -e 's/INSERT/UPDATE/;w output.txt' input.txt

ただし、本当にファイルに出力したいだけの場合は、リダイレクトを使用してください。

sed -e 's/INSERT/UPDATE/' input.txt > output.txt
于 2013-01-07T13:01:32.487 に答える