Подтвердить что ты не робот

Команда Linux и команда grep вместе

Я пытаюсь найти команду или создать Linux script, который может выполнять эти две команды и перечислить otuput

find . -name '*bills*' -print

выводит все файлы

./may/batch_bills_123.log
./april/batch_bills_456.log
..

из этого результата Я хочу сделать grep для слова, которое я делаю вручную прямо сейчас

grep 'put' ./may/batch_bill_123.log 

и получим

sftp > put oldnet_1234.lst

Я хотел бы получить имя файла и его совпадение.

./may/batch_bills_123.log   sftp > put oldnet_1234.lst
..
..
and so on... 

любые идеи?

4b9b3361

Ответ 1

Вы ищете опцию -H в gnu grep.

find . -name '*bills*' -exec grep -H "put" {} \;

Вот объяснение

    -H, --with-filename
      Print the filename for each match.

Ответ 2

Теперь, когда вопрос более ясен, вы можете просто сделать это за один grep

grep -R --include "*bills*" "put" .

С соответствующими флагами

   -R, -r, --recursive
          Read  all  files  under  each  directory,  recursively;  this is
          equivalent to the -d recurse option.
   --include=GLOB
          Search only files whose base name matches GLOB  (using  wildcard
          matching as described under --exclude).