Команда Grep - список файлов начинается со строки и расширения - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь получить список файлов .log, присутствующих в папке, с помощью grep.

Я попробовал следующую команду

ls | grep "gen.*" --include =\*.log | wc -l

Но вышеприведенные команды учитывают и другие типы файлов. У меня есть .txt и .html и .doc файл начинается gen . Он считает и этот файл. Есть предложения?

1 Ответ

0 голосов
/ 03 сентября 2018

Возможно попробуйте это вместо:

find . -type f -iname "gen.*.log" | wc

find легко используется для поиска по именам файлов, тогда как grep в основном для поиска по содержимому.

Ваша версия не может работать, так как ваш grep использует вывод ls для поиска в. --Include и --exclude должны использоваться с рекурсивным grep (grep -r).

Если вы все еще хотите использовать grep, это будет выглядеть так:

ls | grep -e '^gen.*log' | wc -l

...