Substituindo o mesmo texto em arquivos diferentes

Dificuldade: Intermediário
Aplicação: find / Perl

Se você tem um texto que deseja substituir em vários locais, há várias maneiras de fazer isso. Para substituir o texto Windows por Linux em todos os arquivos no diretório atual chamado teste[alguma coisa] você pode executar o seguinte:

perl -i -pe 's/Windows/Linux/;' test*

Para substituir o texto Windows por Linux em todos os arquivos de texto no diretório atual e para baixo você pode executar este:

find . -name '*.txt' -print | xargs perl -pi -e's/Windows/Linux/ig' *.txt

Ou se você preferir isso também vai funcionar, mas apenas em arquivos regulares:

find -type f -name '*.txt' -print0 | xargs --null perl -pi -e 's/Windows/Linux/'

Economiza muito tempo e tem uma classificação de guru alta!

De Dicas de Linux que todo geek deve saber

1 pensamento em “Substituindo o mesmo texto em arquivos diferentes”

Deixe uma resposta