Pergunta

Eu estou tentando mudar algumas linhas em vários arquivos (espalhadas em subpastas) sem ter que editar cada um arquivo por um. I foi dada por Chas. o seguinte

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

e funcionou como um encanto, mas queria saber se esse comando ou similar pode ser feito de forma recursiva em um tiro

Foi útil?

Solução

find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'

Isto irá aplicá-lo a todos os arquivos no diretório atual e todos os subdiretórios. Não vai seguir os links. Você pode querer restringir o escopo da descoberta com uma directiva -name também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top