хвостовая команда linux - PullRequest
4 голосов
/ 28 января 2011

Я не уверен, что это можно сделать, но с Linux вы никогда не знаете, что это пределы.

Я хожу по протоколу apache:

\#tail -f apachelog.access-log

Это дает мне то, что я хочу, но я хочу сузить, что это возвращает. Вот типичный ряд, который я получу:

2011-01-28T04:20:59-07:00 SERVER03 apache: 10.0.0.1 - - [28/Jan/2011:04:20:59 +0000] "POST /a/ HTTP/1.1" 200 4461 "http://somesite.net/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"

Можно ли отфильтровать то, что я хвастаюсь? Иногда я хотел бы только просматривать ссылающийся сайт. А в другой раз я хотел бы посмотреть еще 2 или 3 предмета.

Ответы [ 5 ]

2 голосов
/ 28 января 2011

Вы можете довольно легко выполнить:

tail -f apachelog.access-log | grep SERVER03

, которая выдаст только строки, содержащие строку SERVER03.

1 голос
/ 28 января 2011

Я думаю, что мы можем сделать это командой cut

1 голос
/ 28 января 2011

Используйте хвост, чтобы начать.

$ tail -f logfile | grep 'PATTERN' | less -f

Что я обычно делаю, хотя использую less, затем нажмите ^ C, чтобы получить подсказку двоеточия.Поиск или что-то еще.Затем введите «F» и «less» вернется в режим «Follow».

0 голосов
/ 28 января 2011

Если вы хотите просмотреть только один столбец журнала в реальном времени, вам следует рассмотреть возможность передачи вывода tail -f через awk, sed или perl.Все это лучше подходит для вопроса на unix.stackexchange.com, чем для SO.

0 голосов
/ 28 января 2011

файл tail -f |egrep ... pattern ...

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