我正在尝试更改多个文件中的某些行(分散在子文件夹中),而不必逐个编辑每个文件。我被Chas给了。以下
perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' *
它就像一个魅力,但想知道这个命令或类似的命令是否可以一次性递归完成
答案 0 :(得分:3)
find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'
这将它应用于当前目录和所有子目录中的所有文件。它不会遵循符号链接。您可能还希望使用-name指令缩小查找范围。