Procura arquivos por regex e retorna quais arquivos contêm correspondências

0

Eu pesquisei em todos os lugares, mas não descobri como retornar um conteúdo de arquivo que corresponda a determinadas palavras ou a um regex.

cat /tmp/*.txt | grep "strings"
    
por Julio Fong 30.04.2013 / 16:39

1 resposta

4

Você quis dizer apenas grep do (s) arquivo (s) em vez de (inutilmente) cat para grep ?

grep strings /tmp/*.txt

O que o cat faz é combinar todos os arquivos *.txt em um grande "arquivo". Se você tiver cat de vários arquivos, grep verá apenas uma entrada sem um nome real - todos os seus arquivos serão combinados, alimentados pelo canal. Isso não vai te dar os nomes dos arquivos, já que basicamente fez de tudo um arquivo grande.

Se você quiser que apenas grep retorne os arquivos correspondentes, use a opção -l :

grep -l strings /tmp/*.txt
    
por 30.04.2013 / 16:44