Como posso remover todos os arquivos que possuem uma string em um arquivo

1

Eu estou tentando remover todos os arquivos em uma hierarquia de diretórios que uma determinada string dentro do arquivo (não o nome do arquivo, é o conteúdo do arquivo).

Eu posso listar todo o nome do arquivo que tem uma string no arquivo usando 'grep -r -l mystringlooking for'.

Mas como posso remover todos os arquivos retornados pelo grep? Eu estou tentando isso no Ubuntu.

Obrigado.

    
por michael 08.05.2010 / 07:43

1 resposta

4

grep -r -I -l 'yourstring' . | xargs rm

O sinalizador -l exibe o caminho dos arquivos correspondidos. | canaliza para o próximo comando, que é xargs. xargs executa seu argumento (rm) para cada linha que recebe via STDIN (fornecido pelo canal.)

tenha cuidado ao fazer isso. rm não perguntará 'você tem certeza', e não há undelete.

    
por 08.05.2010 / 08:02

Tags