Linux文档查询笔记

查询文本内容

 

示例文本

1.001 08:07:49 192.168.1.1 timeout fore webserver/server01  200  120  

2.002 08:07:49 192.168.1.1 timeout fo webserver/server01  200  230

3.003 08:38:49 192.168.1.1 timeout for webserver/server02  404  340

4.004 08:49:49 192.168.1.5 timeout for webserver/server02  503  450

5.005 09:01:49 192.168.1.9 timexxx for webserver/server02  504  560

 

 

截取

1.cat t.log |awk '{print $(NF-1)}'            #默认空格为分隔符,截取倒数第二个字段

2.cat t.log |awk -F' |/' '{print $7}'             #空格或者/作为分隔符截取

3.cat t.log |awk 'BEGIN{FS=" |/"}{print $7}' #同上 

4.cat t.log |awk -F"webserver/" '{print $2}' #关键字作为分割符截取

 

匹配&比较

1.cat t.log |awk '{if ($5 ~ /for/) print $0}'                  #包含    1,3,4,5

2.cat t.log |awk '{if ($5 !~ /for/) print $0}'                 #不包含  2

3.cat t.log |awk '{if ($5 = "for") print $0}'                  #替换(显示)

4.cat t.log |awk '{if ($5 == "for") print $0}'                 #等于    3,4,5

5.cat t.log |awk '{if ($5 != "for") print $0}'                 #不等于  1,2

6.cat t.log |awk '{if ($2 ~ /08:0[0-9]/) print }'              #正则匹配,第二字段时间为8:00-8:09 1,2

7.cat t.log |awk '{if ($7==200 && $NF<150) print }'         #并且,第七字段等于200并且最后一字段小于150    1

8.cat t.log |awk '{if ($7==503||$7==504) print}'               #或者,第列等于503或者是504   4,5

9.cat t.log|awk '!a[$3]++'                                     #去重,第三列为key去重 1,4,5

 

 

运算&统计

1.cat t.log |awk 'BEGIN{sum=0}{sum+=$8}END{print sum}'                                 #求和,第六列求和  1700

2.cat t.log |awk 'BEGIN{sum=0;num=0}{sum+=$8;num+=1}END{print "avg:" sum/num}'  #求平均值,求列平均值  340

3.cat t.log |awk '{ii[$3]++}END{for (i in ii){print ii[i],i}}'                         #统计次数,统计第三字段为key出现次数 

4.cat t.log |awk  '{s+=gsub(/timeout/,"&")}END{print s,"timeout"}'                   #统计次数,统计关键字timeout字符串出现次数  4 timeout

5.

 

1.#判断,正则,统计,数组

2.#$11不为三位数字,然后统计出现次数

3.cat ha.log-20150322 |awk --posix '

4.{if ($11 !~ /[[:digit:]]{3}/) ii[$11]++}

5.END{for (i in ii) print ii[i],i}

6.'



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值