sed がファイルに書き込むかサンプル出力を提供するか

sed がファイルに書き込むかサンプル出力を提供するか

sedこのようなファイルで使用すると

sed 's/a/o' fruits

端末に必要な出力を提供しますが、ファイルの内容は変更しません。上記の代替方法を使用してファイルを永久に変更するにはどうすればよいですか?

答え1

-iファイルを永久に変更するには、このパラメータを使用します。

答え2

一般的にこれをしないでください。 GNU coreutils と他のバージョンは-i内部編集オプションを追加しますが、実装が異なり、移植性がありません。ファイルはストリームではないため、sed編集に使用することは避けてください。このオプションは実際にシンボリックリンクを削除してファイルを再生成するため、シンボリックリンク-iも失われます。より多くの情報に基づいて選択するには、またはをsed使用してください。edex

ex -s file << EOF
s/a/o/
w
EOF

答え3

sedのマニュアルページから:

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

          edit files in place (makes backup if extension supplied)

関連情報