Complex (?) Comando de Substituição de Texto Unix

0

Qual é a linha de comando equivalente a: Para cada arquivo que contenha "AAA" em seu conteúdo, encontre "BBB" e substitua por "CCC"

Assim, o comando corresponderia e substituiria BBB em um arquivo:

<html>
<head></head>
<body>
AAA
Hello world!
BBB    
</body>
</html>

Mas não em um arquivo:

<html>
<head></head>
<body>
Don't match me!
BBB    
</body>
</html>

Obrigado antecipadamente!

    
por Matrym 14.02.2011 / 04:40

1 resposta

1

Tente algo como:

grep -Rl AAA . | xargs sed -i -e 's/BBB/CCC/'
    
por 14.02.2011 / 04:44