2009-05-30 68 views
0

我試圖改變多個文件中的某些行(分散在子文件夾中),而不必逐一編輯每個文件。我是由Chas給的。以下在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指令來縮小查找的範圍。

+0

謝謝,它的作品!我認爲加入-r會遞歸地做,嘿。現在,時間去除這些bak文件... – damx 2009-05-30 23:59:08