Рекурсивное массовое редактирование в Linux - PullRequest
0 голосов
/ 31 мая 2009

Я пытаюсь изменить определенные строки в нескольких файлах (разбросанных по подпапкам) без необходимости редактировать каждый файл один за другим. Меня подарил Час. следующие

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

и это сработало как заклинание, но мне было интересно, можно ли эту команду или подобное выполнить рекурсивно за один выстрел

1 Ответ

3 голосов
/ 31 мая 2009
find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'

Это применимо ко всем файлам в текущем каталоге и всех подкаталогах. Он не будет следовать символическим ссылкам. Вы также можете сузить область поиска с помощью директивы -name.

...