Aqui está um padrão geral:
find /directory/containing/files -type f -exec grep -H 'pattern_to_search' {} +
Aqui, a princípio, find
pesquisará todos os arquivos no diretório que contém os arquivos necessários. Você também pode usar curingas, por exemplo. *.txt
para procurar apenas os arquivos que terminam com .txt
. Nesse caso, o comando seria:
find /directory/containing/files -type f -name "*.txt" -exec grep -H 'pattern_to_search' {} +
Depois de encontrar os arquivos necessários, estamos procurando o padrão desejado nesses arquivos usando -exec grep -H 'pattern_to_search' {} +
( -H
imprimirá o nome do arquivo onde o padrão é encontrado). Aqui você pode pensar em {}
como contendo os arquivos a serem pesquisados e +
é necessário para ser usado no final com -exec
, para que -exec
seja bifurcado apenas uma vez, ou seja, grep
pesquisará como se o o comando é grep -H 'pattern_to_search' file_1.txt file_2.txt file_3.txt
.