Динамически изменить grep с помощью less/tail

при сохранении файла журнала мы можем использовать:

tail -f foo.log | grep bar

если мы хотим изменить аргумент grep, мы должны нажать ctrl-c, затем изменить аргумент и перезапустить команду.

мой вопрос: есть ли способ динамически изменить то, что мы ищем, без необходимости убивать команды tail/grep?

Также ищите способ сделать это с помощью less вместо tail, если это возможно.


person Alexander Mills    schedule 13.09.2018    source источник


Ответы (1)


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

На странице руководства less говорится о команде F:

Прокрутите вперед и продолжайте читать, когда будет достигнут конец файла. Обычно эта команда используется, когда она уже находится в конце файла. Это способ отслеживать хвост файла, который увеличивается во время просмотра. (Поведение аналогично команде «tail -f».)

И следующее о команде &

Отображать только строки, соответствующие шаблону; линии, не соответствующие шаблону, не отображаются. Если шаблон пуст (если вы вводите текст и сразу же после него нажимаете ENTER), любая фильтрация отключается и отображаются все строки. Пока действует фильтрация, в начале подсказки отображается амперсанд, как напоминание о том, что некоторые строки в файле могут быть скрыты.

Обратите внимание, что это меньше команд, а не переключателей командной строки.

Вам все равно придется прервать автопрокрутку, чтобы изменить шаблон, но вы сделаете это, фактически не выходя из less.

person msg    schedule 14.09.2018