2011-01-28 178 views
4

我不确定这是可以做到的,但是在linux下,你永远不知道它是有限制的。linux tail命令

我拖尾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个其他项目。

回答

2

你可以很容易地执行:

tail -f apachelog.access-log | grep SERVER03 

这只会给你包含字符串SERVER03线。

1

使用尾巴开始。

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

我最常做的虽然是使用less,然后打^ C来到达结肠提示。搜索或任何。然后输入'F',然后回到'follow'模式。

+0

我似乎无法得到这一系列命令正常工作。我看到我预期的输出,直到我击中^ C。在这一点上,我可以告诉我很少,可以搜索/导航/等等。但是我似乎无法回到“追踪”模式。 'F'在跟随模式下减少,但终端不会使用来自日志文件的新输入进行更新。任何帮助将不胜感激。 – Craige 2012-06-11 17:23:05

1

我认为我们可以通过剪切命令

0

如果你想现场只查看日志的列这样做,你应该考虑通过awksed,或perl管道的tail -f输出。所有这些都会更适合于unix.stackexchange.com上的问题。