エディターを開かずにファイル内の行テキストを追加/編集する (Linux コマンド)

エディターを開かずにファイル内の行テキストを追加/編集する (Linux コマンド)

ファイルに新しいテキストを追加する方法はわかっていますが、それを編集するにはどうすればいいでしょうか?

例:hello_world = 1次のコマンドを使用して test.txt に追加します。

echo "hello_world = 1" >> test.txt

しかし、どうすれば他のもの1に変更できるのでしょうか?0

答え1

使用方法sed:

sed -i 's/1/0/g' test.txt

一般的に:

sed -i 's/oldstring/newstring/g' filename

man sed詳細については、を参照してください。

答え2

awkを通じて、

awk '{sub(/1/,"0")}1' infile > outfile

例:

$ echo 'hello_world = 1' | awk '{sub(/1/,"0")}1'
hello_world = 0

関連情報