head -1 update.u_log.20131217.txt
123.122.180.129 - - [17/Dec/2013:00:00:19 +0800] "GET /index.php?s=2 HTTP/1.1" 404 570 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; QQDownload 735; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
查找当天16/Dec/2013:17:26:31以后访问记录
cat update.u_log.20131216.txt | awk '{time = substr($4,2);if(time > "16/Dec/2013:17:26:31" && time < "17/Dec/2013:00:00:00") print $0;}' > update.u_log.20131217_bak.txt
替换16/Dec为17/Dec
cat update.u_log.20131217_bak.txt | awk '{sub(/16\/Dec/,"17/Dec")}{print $0}' > update.u_log.20131217_bak1.txt
追加到另外一个文件里面
cat update.u_log.20131217_bak1.txt >> update.u_log.20131217.txt
转载一些其它awk 替换 匹配
[root@localhost test]# cat awk
tail -1000 /var/log/syslog-ng/messages.log | awk '{print $3,$0}' |awk -F: '$1$2$3 > 19300 && $1$2$3 < 194000 { print $1$2$3,$0}'
仅供参考
cat /var/log/syslog-ng/messages.log | awk '{print $3,$0}' |awk -F: '$1$2$3 > 19300 && $1$2$3 < 194000 { print $1$2$3,$0}'
简单方法
匹配10点到11点
cat /var/log/messages | grep "[1][0-1]:..:.." |tail -100
匹配一点
cat /var/log/messages | grep "[0][1]:..:.." |tail -300
空格和 :都作为分隔符
cat /var/log/messages |awk -F"[ ]|:" '$3==10 {print} '