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 .