シェルでファイルの内容を置き換える方法
テキストの置換、削除、挿入などの処理を行うことができるストリームエディタ「sed」を利用することで、シェルでファイルの内容を置換できます。
ファイル file.txt の “old_content” を “new_content” へ置き換える場合は次のコマンドを使用します。
sed -i 's/old_content/new_content/g' file.txt
このうち、-iオプションは変更結果を画面に出力するだけでなく、 直接ファイル内容を変更することを示しています。 s は置換操作を示し、 /old_content/ は置換される内容、 /new_content/ は置換後の内容、 g はグローバル置換を示し、 一行内のすべてのマッチが置換されることを示しています。
-iオプションを使用しない場合は、置換結果は画面に出力されるだけで、ファイルは変更されません。置換結果を新しいファイルに保存したい場合は、リダイレクト演算子>を使用します。たとえば、
sed 's/old_content/new_content/g' file.txt > new_file.txt
それにより置換後の結果が new_file.txt ファイルに保存されます。