sedとgrepで、あるディレクトリ以下のファイル中の文字列を一括置換

あるディレクトリ以下の、とある文字列を含むファイルのうち、
一部のファイルを除く全てのファイルを対象に、
文字列置換を一括してかけた。sedとgrepを使用した。

忘れそうなのでメモしておく。

% grep -lr とある文字列 * | grep -v '除外するパス' | xargs sed -i 's/とある文字列/置換後の文字列/g'


grepの-lオプションでマッチするファイル名だけ出力。
grepの-vオプションで。ファイルリストから除外したい文字を入力。
邪魔なものが沢山あるときは-vオプションで繰り返しフィルタリング。
sedの-iオプションで一括置換する。


投稿者:としのり  日時:23:59:59 | コメント | トラックバック |
blog comments powered by Disqus