comando para remover uma string específica de vários arquivos

5

Eu tenho um diretório dash7/ que contém vários arquivos de texto e desejo remover todas as linhas que contêm a string D PRINT de todos esses arquivos.

Como posso fazer isso facilmente a partir da linha de comando?

    
por KISHAN 29.12.2016 / 10:50

1 resposta

8

Você pode conseguir isso facilmente com sed , que pode ser feliz em pesquisar vários arquivos

sed '/D PRINT/d' dash7/*
  • /D PRINT/ encontra uma linha com D PRINT
  • d excluir a linha
  • dash7/* procura em todos os arquivos no diretório dash7 (adicione o caminho para ele, por exemplo ~/dash7 se necessário)

Para realmente alterar os arquivos, em vez de imprimir o texto editado no terminal, você precisa adicionar o sinal -i para modificar no lugar

sed -i '/D PRINT/d' dash7/*
    
por Zanna 29.12.2016 / 12:54