Seleção de Arquivos com GREP
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 01 de Novembro de 2001
O comando grep possui algumas formas de funcionamento bem interessantes. Recentemente eu precisei localizar alguns arquivos e tratá-los de forma a remover algumas formatações erradas.
Veja os exemplos:
$ grep CODE *.src a.src:CODE c.src:CODE f.src:CODE
Para que eu tenha apenas o nome dos arquivos onde se encontra a palavra "CODE", eu posso usar o comando grep da seguinte forma:
$ grep -l CODE *.src a.src c.src f.src
A opção "-l" me indica apenas o arquivo onde a palavra CODE se encontra, porém não exibe as linhas do arquivo, o que é o padrão do comando grep.
Uma vez de posse desta lista, eu precisava mover estes arquivos para um outro diretório, onde então seriam editados:
#!/bin/bash for file in ``grep -l CODE *.src`` do mv $file repair done
Na estrutura acima, "repair" é o nome de um diretório para onde os arquivos, retornados pelo comando grep, serão movidos.