• 締切済み

複数ファイルの文字列の検索と置換

複数ファイルの中から文字列を検索し、置換して保存をしたいです。 どのようにしたらいいでしょうか。

みんなの回答

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.2

>検索文字列および置換文字列が複数行にわたる場合はどうすればいいでしょうか。 perlを使って、 two.pl: #! /usr/bin/perl while (<>) { $a .= $_; } $_ = $a; s/foo1\nfoo2/bar1\nbar2/g; print; などとして置き、chmod +x two.pl あとは同じく、 find . -name '*.html' -print | awk ' { print "./two.pl < " $0 " > tmp ; mv tmp " $0 }' | sh ではいかがでしょう。 perlが好きな人なら全部perlで書きそうですが…

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.1

たとえばhtmlファイルの中のfooをbarにいっぺんに変えるなら、 find . -name '*.html' -print | awk ' { print "sed < " $0 " >tmp -e \"s/foo/bar/g\"; mv tmp " $0 }' | sh

apoton
質問者

補足

ありがとうございます。 検索文字列および置換文字列が複数行にわたる場合はどうすればいいでしょうか。

関連するQ&A