Possível duplicado:
Como posso grep nos arquivos de origem para algum texto?
Qual é o comando para procurar texto específico em tipos de arquivos específicos, recursivamente, no diretório atual?
Possível duplicado:
Como posso grep nos arquivos de origem para algum texto?
Qual é o comando para procurar texto específico em tipos de arquivos específicos, recursivamente, no diretório atual?
ack-grep
, você pode usar os exemplos da pergunta como iniciado (como eu disse), ou seja, asfind | xargs | grep
linhas. Para a saída específica,man grep
é sempre útil ler.grep -r --include=*.<type> "<string>" .
, o que funcionou. Infelizmente, a página de manual não é muito direta ao mencionar o ponto final.Respostas:
Este comando executa find no diretório local (.) Para quaisquer arquivos com nomes que correspondam ao padrão * .extension, depois executa grep para "string" nos resultados da localização . Observe que a localização é inerentemente recursiva. Contanto que você possa diferenciar os arquivos desejados dos que não são baseados no nome, isso funcionará para você.
fonte
print0
opção para ser mais seguro.find -print0
não vai ajudar, também usexargs -0
:find . -type f -name "*.ext" -print0 | xargs -0 grep "string"
Para listar o nome do arquivo, o número da linha no arquivo especificado e a linha que o texto aparece:
Ele será executado apenas no diretório atual, mas o formatará muito bem para você.
fonte