linux tail命令

时间:2011-01-28 05:19:40

标签: linux logging

我不确定这可以做到,但是对于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 个答案:

答案 0 :(得分:2)

您可以轻松执行:

tail -f apachelog.access-log | grep SERVER03

只会为您提供包含字符串SERVER03的行。

答案 1 :(得分:1)

使用tail开始。

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

我通常做的是使用less,然后按^ C获取冒号提示。搜索或其他。然后输入'F',然后再减少回到'跟随'模式。

答案 2 :(得分:1)

我认为我们可以通过cut命令

来实现

答案 3 :(得分:0)

tail -f文件| egrep ... pattern ...

答案 4 :(得分:0)

如果您只想查看实时日志的一列,则应考虑通过tail -fawksed管道perl输出。所有这些都更适合unix.stackexchange.com上的问题而不是SO。