• 締切済み

viでディレクトリ内ファイル全置換方法

一括置換方法を探しています。 カレントディレクトリ以下すべてのディレクトリ内ファイルで、単語置換をしたいのですが、どのようにしたらよいでしょうか。 ググってみると、代替ファイル内置換の方法しかのっておらず、有用な情報を得られませんでした。 よろしくお願いします。

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

vi でなくてもよいのであれば、 perl -i -pe 's/(src)/(dst)/g' * ※ src 正規表現、dst 置換文字列 でできると思います。 ディレクトリ以下全てであれば、 find (dir) -type f | xarg perl -i -pe 's/(src)/(dst)/g' といったところでしょうか。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

タイトルにviでとありますが、viでやらなければいけないのですか? Perlか、sedやawkとfindを組み合わせるとかでやった方が楽にできると思いますけど。 #ed/exでもできるか?

nyalio
質問者

補足

特にviでやる必要はないんですけど、普段viを使って書いてるので、なんとなくviでと書きました。

関連するQ&A