Lê um arquivo e um pipe para grep

2

Imaginando se alguém pode me ajudar, estou muito enferrujado com o bash e parece ter chegado a um impasse.

Eu estou armazenando uma lista de strings em um arquivo e gostaria de ler o arquivo e canalizar cada linha retornada para o grep, que por sua vez procura um diretório por arquivos contendo a string.

Tentativa inicial:

cat filename | grep -lr *

No entanto, isso não está retornando nenhuma saída.

Alguém pode me dar algumas orientações sobre a melhor abordagem?

    
por user675366 26.05.2011 / 15:08

2 respostas

3

Evite esse uso inútil de cat . Você pode, claro, resolver isso com xargs e similares. Mas isso é muito complexo comparado a um simples loop while .

while read i 
do
    grep -r -- "$i" directory/
done < filename
    
por 26.05.2011 / 15:29
2

Eu tentaria isso.

cat filename | while read line ; do grep -lr "$line" * ; done

Você também pode canalizá-lo para "sort -u" para não ter duplicado.

    
por 26.05.2011 / 15:23

Tags