2009-05-30 19 views
0

複数のファイル(サブフォルダに散在)の特定の行を、各ファイルを1つずつ編集することなく変更しようとしています。私はチャスによって与えられた。次Linuxの再帰的一括編集

perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' * 

、それが魅力のように働いたが、このコマンドまたは類似の一つに再帰的に行うことができるかどうかと思いましてこれが現在のディレクトリとすべての内のすべてのファイルに適用されます

答えて

3
find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+' 

ショットサブディレクトリ。シンボリックリンクには従いません。 -nameディレクティブを使用してfindの範囲を絞り込むこともできます。

+0

ありがとうございます!私は-rを追加することが再帰的に行うと考えました。今すぐそれらのbakファイルを削除する時間... – damx

+0

あなたも簡単にそれらの.bakファイルを取り除くために再び見つけるために使用することができます:) – bdonlan

+0

*頭を叩く*どのように恥ずかしい...見て離れて – damx