Dado este exemplo de estrutura de pastas:
/folder1/file1.txt /folder1/file2.djd /folder2/file3.txt /folder2/file2.fha
Como faço uma pesquisa de texto recursiva em todos os *.txt
arquivos com grep
"/"?
( "grep -r <pattern> *.txt"
falha ao executar a partir de "/", pois não há .txt
arquivos nessa pasta.)
command-line-interface
grep
search
Anders Sandvig
fonte
fonte
-
.grep
é mais rápidofind
.você pode ser capaz de fazer uso de seu
zsh
'sEXTENDED_GLOB
opção ( docs )fonte
Você pode dar uma olhada no ack em http://betterthangrep.com , que possui recursos para selecionar arquivos a serem pesquisados por tipo de arquivo.
fonte
fonte
A resposta do Mannis criaria um novo processo grep para cada arquivo de texto. Se você tiver muitos arquivos de texto por lá, considere grepping todos os arquivos primeiro e escolha os arquivos .txt quando terminar:
Isso exige mais disco, mas pode ser mais rápido de qualquer maneira.
fonte
É 2019 e não há como eu ainda usar grep para pesquisa de texto recursiva.
As respostas do IMHO de hoje devem incluir ripgrep :
fonte