awk用法实例

  

1。统计以下文本内容中每个数字出现的次数

(liuwei@test  tmp)美元,cat  1. log    1,2   2,3   3,4   100年,1,   100,100,100   (liuwei@test  tmp)美元,awk “{为(i=1; i<=NF;我+ +)s [$ i] + +}结束{(key 拷贝;s) print 关键,年代(例子)}”,1.的日志   4,1   100年,4   1,2   2,2   3,2

2。100年统计上面文本中出现的次数

#方法1   (liuwei@test  tmp)美元,awk “{为(i=1; i<=NF;我+ +)如果(我==100美元)+ +}和{print 总和}’结束,1.的日志   4   2 #方法   (liuwei@test  tmp)美元,awk “{为(i=1; i<=NF;我+ +)s [$ i] + +}结束{(key 拷贝;s)如果(关键==100)print 关键,年代(例子)}”,1. log    100年,4   3 #方法,不用awk进行统计   (liuwei@test  tmp)美元,grep  -o “100”, 1. log  |, wc  - l

3。统计下面语句中,每个单词及字符出现的个数

,鱿鱼的项目提供了很多资源帮助用户设计,

,鱿鱼的安装实施和支持。请browsethe documentation 

,和支持工程信息

#统计字符出现次数   (liuwei@test  tmp)美元,grep  -o “\ w”, word.txt  |, awk “{s[1]美元+ +}结束{(key 拷贝;s) print 关键,年代(例子)}”   #统计每个单词出现次数   1 #方法,直接遍历每行的每个字段进行累计   (liuwei@test  tmp)美元,awk  -F “(,,) +”,“{为(i=1; i<=NF;我+ +)s [$ i] + +}结束{(key 拷贝;s) print 关键,年代(例子)}”,word.txt   for  1   toassist  1   number  1   users  1   project  1   of  1   more  1   ections  1   documentation  1   resources  1   a  1   provides  1   Please  1   browsethe  1   installations  1   以及2   support  2   implement  1   ,1   infomation  1   squid  2   图纸设计1   2 #方法,利用输入字段分隔符把每个单词变为单独的一行再行进统计   [liuwei@test  tmp)美元,awk  -v  RS=(,,) +”,“{s[1]美元+ +}结束{(key 拷贝;s) print 关键,年代(例子)}”,word.txt

4。打印出haproxy.log (nginx, tomcat等都可以用)中指定时间段内的日志,以便于进行分析

(liuwei@test  tmp)美元,awk “{如果(3美元祝辞=?0:00:00”,,,,3美元& lt;=?0:15:59”) print  $ 0}”, haproxy.log   也可以写为:   (liuwei@test  tmp)美元,awk “3美元祝辞=?0:00:00”,和3 & lt;美元=?0:15:59”{print  $ 0}’, haproxy.log

5. awk笔试题——祝辞获取本机的IP地址和掩码

#方法一,利用脚本的配置文件(源)进行获取,源的作用是将某个文件变成此脚本的配置文件   source /etc/sysconfig/network-scripts/根据   printf “IP地址:% s \ t子网掩码:% s \ n”, IPADDR 美元子网掩码   #方法二:利用awk地址定界   文件=/etc/sysconfig/network-scripts/根据   awk  - f=, '/IPADDR/,/子网掩码/{print  $ 2}’,美元的文件   #方法三:利用awk的或条件   awk  - f=, ' $ 1==癐PADDR”| | 1美元==白油诼搿眥print  $ 1, $ 2}”,美元的文件   知识点1:源的作用   知识点2:awk匹配连续多个字段的写法;/IPADDR/,/子网掩码/表示匹配IPADDR与子网掩码之间的所有内容

6。统计当前服务器每个外部IP的连接个数

#方法,原理,祝辞先以空格为分隔符得到第5个字段,再以冒号为分隔符得到IP字段   (liuwei@test  tmp)美元,netstat  -tan  |, awk  '/^ tcp \祝辞/{print  5美元}’,|,awk  - f:,“{s[1]美元+ +}结束{(key 拷贝;s) print 关键,年代(例子)}”   2 #方法,利用分裂函数——在需要知道分裂函数每个参数是什么意思,此方法看起来很高端啊   netstat  -tan  |, awk  '/^ tcp \祝辞/{分裂(5美元,ip,“:”); s [ip[1]] + +}结束{(key 拷贝;s) print 关键,年代(例子)}”   知识点:awk中分裂函数的用法,在此例中表示以冒号为分隔符将5美元的内容进行分隔,存储到ip数组中

7。要求文件一里的数据依次替换文件b中的xxx字样。

,猫美元,(liuwei@test tmp)

,,aaa

,,bbb

,,ccc

,,ddd

,美元,(liuwei@test tmp)猫b

,111年,xxx

awk用法实例