我试图改变在多个文件中的某些行(分散在子文件夹中),而无需通过一个编辑每个文件之一。我被查斯给出。以下

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指令为好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top