awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}每个字段的意思

解释一下 awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}每个字段的意思_百度知道  https://zhidao.baidu.com/question/513521636.html

awK下标表示为字符串:

 

 

 

用户可能见过其他语言的NTA[10];它表示一个包含10个元素的数组,下标为0,1,2,9

 

 

 

Awk的下标是字符串,在简单的英语中,字符串就像散列函数,比如["Hello"]='world',但我们称它们为数组

 

 

 

另外,请理解NF是字段的数量,字段的数量。例如,如果一行是helloWorld,那么NF就是2

 

 

 

但是添加$,即$NF表示第二个字段的内容,而$NF2表示world

 

 

 

现在如果我回到文本,++S[$NF],这有点像使用字典来计数文件

 

 

 

HelloWorld你好

 

 

 

所以++S[$NF]是S["hello"]=2,S["world"]=1

 

 

 

/^TCP/意味着对每一行进行常规匹配,因为netstat将为UDP生成行,所以我们将使用常规过滤

 

 

 

然后打印a,S[a],也就是2,hello1,world

扩展资料:

注意事项:

在字符串的末尾传递一个空字符串。打印函数不会在字符串末尾添加换行符,而是添加一个空字符串。

 

 

 

 

 

 

 

默认情况下打印末尾有换行符的行:

End = ""表示末尾不换行,使用空格。交互模式下,效果如下:> > > print (' a ') > > print (' a ', end = ' ') > > > print (' a ', end = '1234') a1234 > >0 >1。

posted @ 2022-08-30 10:41  ingemar,fang  阅读(423)  评论(0)    收藏  举报