2013-05-15 16 views
0

有一個日誌分析,如下所示:時間和其他入境

2012-02-10 11:00:44.211 connection closed_to host 
2012-02-10 11:00:44.598 connection closed_to host 
2012-02-10 11:00:45.510 connection closed_to host 
2012-02-10 11:00:45.891 connection closed_to host 
2012-02-10 11:00:46.111 connection closed_to host 

有人可以幫我,我該怎麼辦的輸出(用awk)這個樣子?

connection closed_to host 
11:00:44.211 

connection closed_to host 
11:00:44.598 
+0

你好像知道awk是有這個能力的。你爲什麼沒有試圖弄清楚如何去做? – Cairnarvon

回答

0

只需:

$ awk '{print $3,$4,$5"\n"$2"\n"}' log 
connection closed_to host 
11:00:44.211 

connection closed_to host 
11:00:44.598 

connection closed_to host 
11:00:45.510 

connection closed_to host 
11:00:45.891 

connection closed_to host 
11:00:46.111 
1

您可以使用下面的命令:

awk '{for(i=3;i<=NF;i++){printf "%s ",$i}; printf "\n"$2"\n\n" }' log 

awk將解析由行的文件行。

對於每個線路,awk

  1. 打印從第三每個參數到最後
  2. 打印的第二個參數
+0

謝謝!第二個問題,如果我想查看一分鐘內有多少錯誤,我該怎麼辦?像:2012-02-10 11:00連接關閉主機4 2012-02-10 11:01連接關閉主機5 – xdigit

+0

歡迎您!你應該抽出我的答案來關閉這個線程並尋求新的幫助。你會有更好的知名度。 – aymericbeaumet

+0

好的。感謝您的回覆。 – xdigit

1

與殼:

while read date time msg; do echo "$msg"; echo $time; echo; done < log 
相關問題