LINUX.ORG.RU

Ответ на: комментарий от Moderatorh

Какой именно нет? УМВР, ЧЯДНТ?

# grep -cHR «ERROR» /var/log | grep -v -E "(:0$|:1$)" /var/log/user.log.1:4 /var/log/user.log:2 /var/log/corosync/corosync.log:197 /var/log/corosync/corosync.log.1:24 /var/log/syslog.1:4 /var/log/mysql/mysql_err.log:4572 /var/log/daemon.log:166 /var/log/daemon.log.1:24 /var/log/installer/cdebconf/templates.dat:82

И да, если что, c, H и R - это отдельные ключи, просто есть сокращённый формат задания отднобуквенных ключей, который позволяет писать их вместе, то-есть, вместо того, что бы писать grep -c -H -R ... можно сделать grep -cHR

dronozavr ()
Последнее исправление: dronozavr (всего исправлений: 1)
Ответ на: комментарий от dronozavr

Нет такой опции, я писал на Ваше первое не исправленное сообщение, где Вы написали grep -R. Потому и написал в ответ, что у грипа нет опции для поиска определенного числа строк. Потом Вы исправили свое сообщение, добавив регулярку и мой ответ потерял смысл

Moderatorh ()
Ответ на: комментарий от Moderatorh

-v - это исключать результаты, подпадающие под шаблон. Использовал её, что бы исключить результаты, где отсутствуют совпадения или их количество равно 1.

dronozavr ()
Ответ на: комментарий от dronozavr

Запутались Вы :-) с -v Вы как раз таки и выводите все файлы кроме тех, которые содержат одну сроку.

В итоге получается следующее:

find . -name «*.php» -exec grep -cH «» {} \; |grep -E ":1$" |cut -d ":" -f 1

Можно ли как то оптимизировать?

Moderatorh ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.