Procura e substitui a linha completa em arquivos recursivos

1

Estou usando:

grep -n -H -o -R -e textword .

Listar todos os arquivos recursivamente no diretório '.' com string 'textword' e mostra o arquivo, a linha e apenas a parte correspondente.

Eu preciso remover linhas que correspondam ao texto usando um comando do Linux.

    
por Jose Nobile 25.04.2013 / 22:00

2 respostas

1
find . -type f -exec sed -r -i "/textword/d" {} +

Lembre-se de que o texto da pesquisa é interpretado como um expressão regular por sed (com a opção -r ), portanto, pode ser necessário escapar.

Use sed -i.backup para fazer backup de arquivos originais como <filename>.backup .

    
por 25.04.2013 / 22:13
1

Com o GNU find e sed , você poderia:

find . -type f -print0 | xargs -0 sed -i '/^FIND$/d'
    
por 25.04.2013 / 22:11