我有一個日誌文件,我需要輸出日期和一些狀態代碼。另外我使用||作爲分隔符並從數據中刪除不需要的符號。下面是它的樣子:awk日期紀元日誌文件和打印其他列
cat logfile.log | awk 'BEGIN { FS = "\\|\\|" } { gsub("/","-") sub(":", " ") gsub("\\[", "") gsub("\\+0000]", "")}; { print $15 $12 }' | uniq -c
此輸出:
22 25-Jan-2016 01:53:52 85.10.210.199
1 25-Jan-2016 01:53:52 66.249.93.77
18 25-Jan-2016 01:53:52 85.10.210.199
1 25-Jan-2016 01:53:52 88.232.191.231
在此之後,我需要時間轉化爲劃時代仍打印列$ 1和$ 3
我想才達到:
22 1453686832 85.10.210.199
1 1453686832 66.249.93.77
18 1453686832 85.10.210.199
1 1453686832 88.232.191.231
我可以將日期轉換爲紀元,但我失去了其他列。我怎樣才能讓他們也與轉變的時間?
這是我的RAW日誌文件:
[] || || || || [] || http || 40080 || 176.237.167.102 || [] || [-] || [0.072] || 176.237.167.102 || - || - || [25/Jan/2016:06:30:26 +0000] || "POST /checknewmsg HTTP/1.1" || 200 || 265 || 895 || "http://google.com/post」 || "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36" || "-" || [TR]
失去了什麼列? – 123
第一列和第三列我輸了,如果我打印日期到日期-d「$ date」+%s – SScast
如果你有GNU awk,你可以使用[strftime](https://www.gnu.org/software/ gawk/manual/html_node/Time-Functions.html) – 123