工作中常用的若干正则

sed过滤日志中一天的日期

 sed -n '/03\/Nov\/2017/p'  www.kanfanews.com_access_ssl.log

grep过滤时间

 cat jie.nginx.log|grep 117.73.151.80|egrep "21/Oct/2017:10:[0-9][0-9]:[0-9][0-9]"

sed过滤日志中连续字符中的空格

 sed -n '/28\/Oct\/2017/p'  www.kanfanews.com_access_ssl.log_ngx232_20171029  | egrep '"GET\s/web/video/index/994053/'过滤GET空格/web/video

查看日中中排名前十的ip

 awk '{print $1}' GET_1002131_2017_11_01_nginx.log | sort |uniq -c| sort -k 1 -r -n| head -n 15     
61 117.136.0.22    
32 123.151.77.72    
30 39.155.214.66    
25 123.151.76.158    
24 223.104.13.196      
23 123.151.77.71  
23 123.151.77.70  
22 123.151.77.123    
 22 120.52.147.18  
20 123.151.76.248    
19 123.151.77.132    
19 111.30.142.78    
17 123.151.77.91    
17 113.96.218.50    
16 111.30.142.252

sed 删除特殊字符

 sed 's/\[//g'  file   删除[  这里的\ 是用来表达转义

awk删除某列

 tail -2 test.log |awk '{$(NF-4)=null;$(NF-5)=null;$1=null;print}'nf-4 列为空,其他同理,然后print 打印

egerp过滤多个条件

 cat  ACCESS_IP_ID_2017-10_26.log   | egrep "977092|988847|979320|977834|977634|980135|984245|977130|977046|977128" > ACCESS_START_20_26.log
过滤包括977092|988847|979320|977834|977634|980135|984245|977130|977046|977128 的字样的行导入到文件中