kwrl.net
当前位置:首页 >> 解释一下 Awk '/^tCp/ {++S[$NF]} END {For(A in S... >>

解释一下 Awk '/^tCp/ {++S[$NF]} END {For(A in S...

不是,后面的1是单个数字在每行出现的次数,你把S[a] 去掉只留下a 你就明白了。 {++S[$NF] 的意思是 统计每行最后一个出现的次数,至少一次,放入数组中。 其实这个代码不适合这个文件,看不出来效果。$NF的意思就是打印最后一行。 也没必要写个...

awk '{a[$1" "$2]++} 以空格为分隔符,把第一段和第二段以空格连接起来加入到数组a里,并计出现次数 END{for(j in a) print a[j],j}' awk处理完信息后,输出a数组的全部内容,并输出出现的次数 这是个统计的操作

awk是一个强大的文字处理工具,这是我的awk学习笔记http://blog.uouo123.com/post/312.html awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'是把tcp开头的匹配出来,再把末尾那一列出现的次数进行汇总 TIME_WAIT 4 ESTABLISHED 2 这样...

把input_file里第二列相同的第一列按空格拼起来,最后输出第二列和拼起来的结果,保存到output里面 比如 root@ubuntu:~# cat input_file 1 2a 21 32 3root@ubuntu:~# awk '{a[$2]=a[$2]" "$1} END {for(i in a) print i"\t"a[i]}' input_file 2 ...

S是数组名字,awk中支持数组型变量,并且使用之前不需要申明。 所以上面的语句其实是对文本按照 ; 分列。并用分列后的数据组织了一个数组 数组的内容为该数据的第4列,当第4列为空时,为相应行第3列的值。

awk '{S[$1]}{for(i in S) print i}'是没读一行就输出一次S awk '{S[$1]}END{for(i in S) print i}'是读取完全部以后,再输出S

SUM += $1 sum默认初值为0。awk逐行处理,$1为每行的第一个字段,就是计算每行第一个字段的累加和。 END部分是处理完所有行后执行的。 print SUM 即打印最终的累加和

$2:表示第二个字段 print $2 : 打印第二个字段 awk '{print $2}' $fileName : 一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段 比如有这样一个文件 a1 b1 c1 d1 a2 b2 c2 d2 执行的结果是,输出 b1 b2

这个awk脚本里有两个大括号,第一个表示匹配到了关键字后才会执行print s;而第二个没有限定,即每一行都会执行s=$0。举个例子,文件abc总共三行,如下: a b c 执行命令awk'/c/{print s}{s=$0}' abc 输出结果为c 的前一行 b,分析如下: 第一行...

lx@LxUbuntu:~/bash/tmp$ cat tmp.sh #!/bin/bash netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 没问题呀 如果不行可以在命令前面加上 eval试试看 你都没试把, 这样可不好 直接netstat -n | awk '/^tcp/ {++S[$NF]} ...

网站首页 | 网站地图
All rights reserved Powered by www.kwrl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com