在Linux中递归批量编辑
问题描述:
我试图改变多个文件中的某些行(分散在子文件夹中),而不必逐一编辑每个文件。我是由Chas给的。以下在Linux中递归批量编辑
perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' *
和它的工作就像一个魅力,但不知道是否该命令或类似的可以完成递归一次性
答
find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'
这将其应用到所有文件在当前目录及其所有子目录。它不会遵循符号链接。你也许想用-name指令来缩小查找的范围。
谢谢,它的作品!我认为加入-r会递归地做,嘿。现在,时间去除这些bak文件... – damx 2009-05-30 23:59:08