Ich habe eine Datei mit Werten wie diesen:
31.13.77.12:443 ZEIT_WAIT
31.13.77.12:443 HERGESTELLT
31.13.77.36:443 HERGESTELLT
31.13.77.29:443 HERGESTELLT
31.13.77.12:443 ZEIT_WAIT
Ich möchte die Ausgabe in einer Datei wie folgt:
IP_ADDR Port Status Anzahl
31.13.77.12 443 TIME_WAIT 2
31.13.77.12 443 HERGESTELLT 1
31.13.77.36 443 HERGESTELLT 1
31.13.77.29 443 HERGESTELLT 1
Alle Felder sind durch Tabulatoren getrennt. Ich kann IP und Port extrahieren, weiß aber nicht, wie ich zwei Spalten vergleiche und die Anzahl ermittele.
Antwort1
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