Linuxでテキストファイルの内容を一括置換する方法

Linuxでは、sedコマンドを使ってテキストの中身をまとめて置き換えることができます。

sedコマンドの基本構文は次のとおりです。

sed 's/原文本/替换文本/g' 文件名

s は置換操作であり、/原文本/置換テキスト/g は、原文本を置換テキストに置き換えることを表し、g は全体置換を表します。

ワイルドカード文字列の*を使用して、複数のファイル内のテキスト内容を一括置換する必要があります。例:

sed 's/原文本/替换文本/g' *.txt

「.txt」で終わるすべてのテキストファイルのオリジナルテキストを置換テキストに一括置換します。

置換結果を表示するだけで、元ファイルを修正したくない場合は、-i オプションを使用します。次のようにします。

sed -i 's/原文本/替换文本/g' 文件名

記載されたコマンドは直接ファイルに変更を加え、バックアップファイルは追加されません。

なお、sedコマンドは行処理なので、複数行にまたがるテキスト内容を置換したい場合は / を使用して行範囲を指定できます。例:

sed '2,4s/原文本/替换文本/g' 文件名

このコマンドは2行目から4行目の間で置換が行われます。

bannerAds