2012-04-27 34 views
6

我正在開發一個Java EE應用程序,其日誌將在Linux服務器中生成。搜索在作爲尾部操作結果顯示的數據?

我已經使用該命令tail -f -n -10000 MyLog 它顯示該日誌文件的最後1000行。

現在我按下Ctrl + C組合在膩子斷開日誌更新用(因爲我擔心這可能與新的請求被更新,我將失去我的數據)

在顯示的結果,我怎麼能搜索特定的關鍵字? (使用/字符串名稱進行搜索,但不起作用)

+0

您應該查看如何將結果傳遞給grep,或者使用grep來搜索MyLog。 – 2012-04-27 11:57:54

回答

7

將您的輸出輸出到PAGER。

tail -f -n LINE_CNT LOG_FILE | less 

那麼你可以使用

/SEARCH_STRING 
+0

我能夠通過配置膩子設置窗口顯示可滾動的行到1000來顯示所有的輸出。在輸入tail -f命令並且一旦顯示數據後,我使用ctrl + c斷開尾部選項,現在我無法使用/ String名稱 – user1253847 2012-04-27 13:10:05

+0

進行搜索。不要按**鍵** CTRL + C **。運行** tail -f -n LINE_CNT LOG_FILE |減**。這將爲您提供緩衝輸出。首先你會在第一頁。按** h **獲取更多關於如何使用** less ** PAGER的信息。其中一項功能是可以通過點擊**/SEARCH_STRING **來完成搜索,其中** SEARCH_STRING **是您要搜索的字符串。 – tuxuday 2012-04-27 13:25:28

1

您需要從tail輸出重定向到一個搜索工具(例如grep)。您可以分兩步進行:將輸出保存到文件中,然後在文件中搜索;或一氣呵成:輸出到搜索實用程序

要查看文件內容(因此您可以點擊Ctlr + c),可以使用tee命令,該命令將輸出複製到屏幕和文件:

tail -f -n -10000 MyLog | tee <filename> 

然後在文件內搜索。

如果你想管結果到搜索工具,您可以用同樣的伎倆同上,但用你的搜索程序,而不是tee

5

兩種方式:

tail -n 10000 MyLog| grep -i "search phrase" 

tail -f -n 10000 MyLog | less 

第二屆方法將允許您使用/進行搜索。它只會搜索下來,但您可以按g返回頂部。

編輯:在測試中,似乎方法2不能正常工作......如果你點擊文件末尾,它會凍結,直到你按Ctrl + c尾部命令。

0

上飛

控制端輸出,而在終端,如油灰可以使用CTRL-SCTRL-Q停止,並開始輸出到膩子終端運行的任何命令。

不包括用grep

如果你想排除包含特定模式使用grep -v線線以下將刪除包含字符串並不都行信息

tail -f logfile | grep -v INFO 

展線包含單詞INFO或DEBUG

tail -f logfile | grep -v -E 'INFO|DEBUG' 

最後,母親和FA THER的所有尾礦工具是xtail.pl

如果您對您的主機xtail.pl Perl是一個非常好的學習工具,簡單地說,你可以用它來尾部多個文件。非常便利。