2011-01-28 177 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上的問題。