Seu comando
find ../ -type f -exec grep "nslookup" {} \;
está quase correto, além do fato de que grep por padrão não exibe o nome do arquivo quando é dado apenas um único arquivo para trabalhar.
Aqui estão duas maneiras de corrigir isso:
-
Usando um
grepque tem a opção não padrão (mas comum)-Hpara sempre exibir o nome do arquivo:find ../ -type f -exec grep -H 'nslookup' {} \; -
Atribuindo
greppelo menos dois nomes de arquivo:find ../ -type f -exec grep 'nslookup' /dev/null {} \;
Se você está interessado em somente os nomes dos arquivos, estas são duas maneiras de fazer isso:
-
Use a opção padrão
-lcomgrep:find ../ -type f -exec grep -l 'nslookup' {} \; -
Deixar
findgerar o nome do caminho do arquivo, se ele contiver uma correspondência:find ../ -type f -exec grep -q 'nslookup' {} \; -printAqui, usamos somente
greppara detectar se o padrão corresponde. Sua opção-qimpede que ela imprima nada efindusará o status de saída do utilitário para determinar se a ação-printdeve ou não ser executada.