Обратный grep, чтобы получить последние пару вхождений в файле

9

Скажем, я хочу взять последние 5 упоминаний о cron при /var/log/syslog.logпросмотре руководства по grep, похоже, что я не могу заставить grep искать в обратном порядке. Однако я могу взять самые последние события.

grep cron -m 5 /var/log/syslog

Могу ли я использовать обратную команду grep? :)

Кит Сунде
источник

Ответы:

14

Следуя обычной философии объединения инструментов Unix: используйте grepдля поиска и tailдля возврата последней части файла.

grep cron /var/log/syslog | tail -n 5
Жиль "ТАК - перестань быть злым"
источник
Было бы быстрее изменить порядок, если вы знаете, что интересующий вас контент находится в последних X строках. tail -n 100 </ var / log / syslog | grep cron
bk0
Обратите внимание, что это на самом деле не меняет порядок, а ограничивает grep до нижних X строк. Может или не может служить цели.
swornabsent
16

А как насчет трубопроводов tac?

http://linux.about.com/library/cmd/blcmdl1_tac.htm

tac  /var/log/syslog | grep cron -m 5
neurino
источник
Вам нужен второй такт в конце, чтобы восстановить исходный порядок, нет tac /var/log/syslog | grep cron -m 5 | tac? Tacatac ... :)
пользователь неизвестен
Но не является ли обратный порядок частью запроса? Таааак ^^
неврино
Ах, может быть! Я понял обратную сторону только как поиск последних.
пользователь неизвестен