Linux grep encontrar string em pasta dir

grep -rnw ‘/caminho/para/pasta/’ -e ‘palavras que procura’

grep -rnw “/home/user/bin/” -e “Digite”

Execute o seguinte:

grep -rnw ‘/caminho/para/pasta/’ -e ‘palavras que procura’

-r or -R é recursivo,
-n número da linha, e
-w busca pela palavra toda.
-l (minúsculas L) pode ser adicionado para fornecer apenas o nome do arquivo correspondente.

Junto com as bandeiras, –exclude, –include, –exclude-dir pode melhorar a busca usando asterisco (global) e chaves (global).

Abaixo a busca só será realizada nos arquivos que tiverem a extensão especificada:

grep –include=\*.{c,h} -rnw ‘/caminho/para/pasta/’ -e “palavras que procura”

grep –include=\*.{sh,c} -rnw ‘/caminho/para/pasta/’ -e “palavras que procura”

grep –include=*.sh -rnw “/home/user/bin/” -e “ogg”

grep –include=*.sh -rnw “/home/user/bin/” -e “eu só entendo”

grep -E –include=*.sh -rnw “/home/user/bin/” -e “eu só entendo”

Isso excluirá a pesquisa de todos os arquivos que terminam com a extensão .o:

grep –exclude=*.o -rnw ‘/caminho/para/pasta/’ -e “palavras que procura”

Para diretórios, é possível excluir um diretório específico através do parâmetro –exclude-dir. Por exemplo, isso excluirá os dirs dir1/, dir2/ e todos eles correspondentes *.dst/:

grep –exclude-dir={dir1,dir2,*.dst} -rnw ‘/caminho/para/pasta/’ -e “palavras que procura”

Para saber mais leia man grep.