シェル スクリプトで置換テキスト
シェルでは、sedコマンドを用いてテキスト内容の置換が可能です。
この文を日本語で言い換えてください。1つのオプションだけで十分です。文法は次のとおりです。
sed 's/要替换的内容/替换后的内容/g' 文件名
そのうち
- s/natively in japanese, only need one option/日本語ネイティブ、1つの選択肢のみ/g
- g はグローバル置換を表し、g がない場合は各行の最初のマッチングのみが置換されます。
- 変換対象のファイル名。ワイルドカードを用いて複数ファイルを指定可能。
例えば、ファイル中の全ての「old」を「new」に置き換えるのに、次のコマンドを使用できる
sed 's/old/new/g' 文件名
ファイルへの変更を直接コミットしたい場合は、「-i」オプションを使用します。
sed -i 's/old/new/g' 文件名
-i オプションは元のファイルを直接変更するため、使用には注意が必要です。元のファイルを編集したくない場合は、リダイレクトを使って出力を新しいファイルに書き込むこともできます。
sed 's/old/new/g' 文件名 > 新文件名
また、パイプを使うと、コマンドの出力を別のコマンドの入力として使い、置換を組み合わせた動作にすることができます。
sed 's/old/new/g' 文件名 | sed 's/foo/bar/g' > 新文件名
シェルでテキストの内容を置換する方法を説明しました。