Могу ли я вести журнал -fa и печатать только определенные строки, соответствующие тексту? - PullRequest
0 голосов
/ 14 октября 2018

Я бы хотел завести журнал, найти текст и вывести только найденную строку плюс следующую строку, возможно ли это?

THE QUICK 
BROWN FOX 
JUMPED OVER
THE LAZY 
DOG'S BACK

Что-то вроде: tail -f |grep BROWN FOX

будет выглядеть так:

BROWN FOX 
JUMPED OVER

Ответы [ 2 ]

0 голосов
/ 14 октября 2018
 tail -f log_file_name | grep --line-buffered -A1 BROWN FOX

--line-buffered заставляет grep быстрее реагировать на ввод по каналу (очень полезно, если файл журнала медленно растет)

-A1 просит также отображать одну строку после каждого совпадения.

0 голосов
/ 14 октября 2018
tail -<num1> filename.log | grep "search_string" -A num2

Файл примера: a.log

10 20
10 12
11 14

tail -2 a.log | grep "10" -A 1 # tail -2 indicates two lines from the end of the file

Выход

10 12
11 14

Опции GrepИспользуйте опцию -n в grep для печати номера строкиИспользуйте параметр -C num, чтобы получить начальный и конечный контекст (соседние строки с соответствующим)Используйте опцию -A num, чтобы получить конечный номер строк. Используйте опцию -B num, чтобы получить первый номер строк

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