grep -l word * | xargs grep word2
O Xargs executará o segundo grep sobre cada arquivo do primeiro grep.
Atenciosamente.
Eu preciso de alguns arquivos para ver quais contêm uma determinada palavra:
grep -l word *
Em seguida, preciso fazer uma busca na lista de arquivos para ver quais contêm uma palavra diferente. O caminho mais fácil provavelmente seria escrever um roteiro, mas eu não sei exatamente como trabalhá-lo.
grep -l word1 $(grep -l word2 *)
ou talvez por uma das duas palavras na mesma linha:
grep -w 'word1\|word2' *
veja aqui
Se você precisar encontrar arquivos que contenham uma palavra e, em seguida, filtrar os arquivos que contêm outra palavra, use uma sequência de comandos como esta:
grep word * | awk -F ':' '{print $1}'|uniq | xargs grep word2
grep word *
- mostrará todos os arquivos contendo "word", o nome do arquivo será o primeiro da lista. awk -F ':' '{print $1}'
- imprimirá apenas o nome do arquivo dos seus resultados uniq
- se certificará de não imprimir o nome do arquivo mais de uma vez. xargs grep word2
- pesquisará novamente na lista de arquivos que você obteve. Tags grep