2

Мне уже удалось посчитать строки во всех файлах в каталоге:

grep -roh „XXX" . | wc –w

Но я не знаю, как выделить утверждение. Я только хочу посчитать слова в файлах, которые имеют следующую строку «2015-09-25» в имени файла.

Кто-нибудь может мне здесь помочь?

2 ответа2

1

Это должно работать, он использует find для изоляции интересующих вас файлов, а затем запускает grep только для этих файлов:

find /mydir -maxdepth 1 -type f -name "*2015-09-25*" -execdir grep -roh "XXX" "{}" \+ | wc -w

Если вы также хотите найти файлы в подкаталогах /mydir, просто удалите -maxdepth 1

1

Если все файлы находятся в текущем каталоге, попробуйте

grep -oh "XXX" *2015-09-25* 

еще попробуй

 grep -roh -c --include="*2015-09-25*" "XXX" 

где

  • -r скажи grep рекурсировать
  • --include="*2015-09-25*" фильтр по базовому имени файла.

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