как создать для цикла grep в bash - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь создать цикл for, который подсчитывает количество ключевых слов в каждом файле в каталоге отдельно.

Например, если в каталоге 2 файла, я бы хотел, чтобы цикл for произнес:

foo.txt = found 4 keywords
bar.txt = found 3 keywords

До сих пор я писал ниже, но он дает общее количество ключевых слов из всех файлов вместодля каждого отдельного файла.

В результате я получаю

7 keywords founds

Вместо желаемого результата выше

Вот что я придумал

for i in *; do egrep 'The version is out of date|Fixed in|Identified the following' /path/to/directory* | wc -l ; done

1 Ответ

0 голосов
/ 04 октября 2018

Просто используйте опцию подсчета grep * -c:

grep -c <pattern> /path/to/directory/*

Вы получите что-то вроде:

bar.txt:2
foo.txt:1

Обратите внимание, что будет подсчитано строк соответствий,не отдельные модели соответствуют.Таким образом, если шаблон появляется в строке дважды, он будет учитываться только один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...