在 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.36 443 ESTABLISHED
1 31.13.77.294143 ESTA

所有欄位均以製表符分隔。我能夠提取 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

相關內容