linux awk 时间范围,linux下使用awk命令按时间段筛选日志
需求
很多時候我們需要按照時間段來進行日志的分析,比如說查看上午的,或者某月某日的的具體日志,就不能簡單實用tail -f或者head -n命令了。這個時候我們需要借用awk。
命令
zcat com.log20160529.gz | grep 'dianping_reply.log'| awk '{split($4,array,"[");if(array[2]>="29/May/2016:00:00:26" && array[2]<="29/May/2016:00:01:14"){print $0}}'
解釋
掃描gz壓縮文件,從中尋找帶有dianping_reply的行,將改行按照[進行拆分,然后直接使用if條件進行判斷,比較,最終輸出想要的結果。
命令解析:
zcat 直接讀取壓縮文件的內容
grep用來過濾特定字符的行
awk 用來執行命令
split用來切分字符串
另外一種情況
test.log
[22/Feb/2017-18:51:58] api.momo.com /api/feed HTTP/1.1 121.0.0.1 android1.2
[22/Feb/2017-18:51:59] api.momo.com /api/follow HTTP/1.1 121.0.0.2 iphone1.1
[22/Feb/2017-18:52:58] api.momo.com /api/user HTTP/1.1 121.0.0.3 iphone1.1
[22/Feb/2017-18:52:41] api.momo.com /api/feed HTTP/1.1 121.0.0.4 android1.2
[22/Feb/2017-18:56:30] api.momo.com /api/follow HTTP/1.1 121.0.0.2 android1.2
[22/Feb/2017-18:51:21] api.momo.com /api/user HTTP/1.1 121.0.0.3 iphone1.1
[22/Feb/2017-18:59:58] api.momo.com /api/user HTTP/1.1 121.0.0.3 android1.2
[22/Feb/2017-18:51:21] api.momo.com /api/feed HTTP/1.1 121.0.0.1 iphone1.1
查詢22/Feb/2017-18:52:59之前的日志
cat test.log | awk '{split($1,array,"[");split(array[2],array2,"]");if(array2[1] >= "22/Feb/2017-18:52:59"){print($0)}}'
總結
以上是生活随笔為你收集整理的linux awk 时间范围,linux下使用awk命令按时间段筛选日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工信部:即日起取消通信行程卡“星号”标记
- 下一篇: linux bin su,linux –