我不确定这可以做到,但是对于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个其他项目。
答案 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 -f
,awk
或sed
管道perl
输出。所有这些都更适合unix.stackexchange.com上的问题而不是SO。