linux awk使用技巧

日志格式如下

2021-09-01    00:02:55    0.012    -    105    10.33.252.4    030.16.121.132:30086    200    GET    /pad-xxx/customer/login
2021-09-01    00:02:55    0.0030    -    250    10.33.252.4    30.16.121.132:30086    200    GET    /pad-xxx/customer/writeLog/getsignNature
2021-09-01    00:03:02    0.0    -    13945    10.33.252.4    30.16.121.132:30086    200    GET    /pad-xxx/umapecif-initial-loading.js
2021-09-01    00:03:02    0.0010    -    3132    10.33.252.8    30.16.121.132:30086    200    GET    /pad-xxx/welcome-initial-loading.html

结果如下

awk 'BEGIN{printf "%-60s%5s%10s\n",".do","code","count"}{if($10!~/js$/&&$10!~/html$/&&$10!~/png$/&&$10!~/css$/&&$10!~/gif$/&&$10~/^\/pad-xxx/){acc[$10,$8]++}}END{for(i in acc){split(i,idx,SUBSEP);printf "%-60s%5s%10s\n",idx[1],idx[2],acc[i]}}' *.acc | sort

.do                                                         code     count
/pad-xxx/customer/ai/signature                               200       107
/pad-xxx/customer/clickLike/queryCustomTagClickLike          500        92
/pad-xxx/customer/login                                      200      4034
/pad-xxx/customer/pcis/getArrivedShopTag                     200      2802
/pad-xxx/customer/pcis/getArrivedShopTag                     500         2
/pad-xxx/customer/pcis/getcustomerType                       500         3

awk中判断某个字段是否等于某个变量

awk -v date_str=`date +%F `{if($1==date_str) print’ *.acc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值