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
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?
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
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.