Como você procura texto específico em tipos de arquivo específicos? [duplicado]

12

Qual é o comando para procurar texto específico em tipos de arquivo específicos, recursivamente, sob o diretório atual?

    
por Phillip 25.08.2011 / 23:35

2 respostas

11

find . -type f -name '*.extension' | xargs grep "string"

Este comando executa find no diretório local (.) para quaisquer arquivos com nomes que correspondam ao padrão * .extension, em seguida, executa grep para "string" nos resultados do encontrar . Note que find é inerentemente recursivo. Contanto que você possa diferenciar os arquivos que deseja dos arquivos que você não usa com base no nome, isso deve funcionar para você.

    
por 26.08.2011 / 00:27
0

Para listar o nome do arquivo, o número da linha no arquivo especificado e a linha, o texto é exibido:

for x in *.xxx; do [ -r $x ] | cat $x | grep -n TEXT | xargs printf "$x:%s\n";done

Ele só será executado no diretório atual, mas irá formatá-lo bem para você.

    
por 26.08.2011 / 00:14