Я искал везде, но не нашел, как вернуть содержимое файла, которое соответствует заданным словам или регулярному выражению.

cat /tmp/*.txt | grep "strings"

1 ответ1

4

Вы только что значит grep файл (ы) вместо () cat без толку ИНГ его / их к grep

grep strings /tmp/*.txt

Что делает cat , так это объединяет все файлы *.txt в один большой "файл". Если cat несколько файлов grep поэтому будет видеть только один вход без реального имени, это все ваши файлы в сочетании, подаваемые через трубу. Это не даст вам имена файлов, так как вы в основном сделали все одним большим файлом.

Если вы хотите, чтобы grep только возвращал совпадающие файлы, используйте параметр -l :

grep -l strings /tmp/*.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .