使用 Bash 脚本进行提取

使用 Bash 脚本进行提取

我有一个包含如下值的文件:

31.13.77.12:443 TIME_WAIT
31.13.77.12:443 已建立
31.13.77.36:443 已建立
31.13.77.29:443 已建立
31.13.77.12:443 TIME_WAIT

我想要文件中的输出为:

IP_ADDR 端口状态计数
31.13.77.12 443 TIME_WAIT 2
31.13.77.12 443 ESTABLISHED 1
31.13.77.36 443 ESTABLISHED 1
31.13.77.29 443 ESTABLISHED 1

所有字段都以制表符分隔。我可以提取 IP 和端口,但我不知道如何比较两列并获取计数。

答案1

netstat -n | awk  '$1=="tcp"{print $5,$6}' OFS="\t\t" >output.txt  
sort output.txt | uniq --count >output1.txt  
echo -e "Count"  "IP" '\t\t' "Port" '\t' "State"  >final.txt  
sed 's/\:/\t/' output1.txt >> final.txt

相关内容