shell awk实战

Posted yangning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell awk实战相关的知识,希望对你有一定的参考价值。

一、文本处理

1、按行提取关键字频次(如取第5列)

awk ‘BEGIN{FS="|"} {a[$5]+=1;} END {for(i in a) print i ":" a[i];}‘ OPT.ForumLogicNewServer_action_20161107.log | sort -nrk 2 -t ‘:‘

技术分享

2、日志用户每分钟访问量统计

这里我们统计日志中“getThreadList”接口的流量每分钟到达率。

 awk ‘BEGIN{FS="|"} $5=="getThreadList" {a[substr($1,0,16)]+=1;} END{for(i in a) print i "\t" a[i]}‘ OPT.ForumLogicNewServer_action_20161107.log | sort > getThreadList.txt  

技术分享

3、找一个目录下所有的二进制文件

ls -lrt | awk ‘{print $9}‘ | xargs file | grep ELF | awk ‘{print $1}‘ | tr -d ‘:‘ 

技术分享

4、 grep ‘2016-11-21 22:05‘ MTT.IDCenterServer_IDCenterServer_20161121.log | grep ‘UserInfo‘ | awk ‘BEGIN{FS="|"} {print $6}‘ | uniq | wc -l

以上是关于shell awk实战的主要内容,如果未能解决你的问题,请参考以下文章

awk入门及awk数组相关实战

Linux Shell编程实战---以逆序形式打印行

SHELL用法九(awk练习)

shell四剑客awk

shell-03

Linux Shell编程实战---计算特定目录下前10个大文件