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

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

NF是字段数,number of field . $NF是最后一个字段, END前面是把最后一个字段+1放到数组S中,END是把数组打印出来, 关联数组的key是最后一个字段的值,value都是1(因为默认值是0,++后是1),.

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 这样...

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

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

cat test.txt | awk '{S[$1]}{for(i in S) print NR,i; print"\n"}' 1 Tom 2 Tom 2 John 3 vivi 3 Tom 3 John 4 vivi 4 Tom 4 John 5 vivi 5 Tom 5 John 这样你明白吗? END是处理完了之后输出.不加的话,每hash一个Key值就输出一次. 第一列是行...

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