Estrazione in Bash Script


-2

Ho un file con valori come questo:

31.13.77.12:443 TIME_WAIT
31.13.77.12:443 STABILITO
31.13.77.36:443 STABILITO
31.13.77.29:443 STABILITO
31.13.77.12:443 TIME_WAIT

Voglio l'output in un file come:

Conteggio stato porta IP_ADDR
31.13.77.12 443 TIME_WAIT 2
31.13.77.12 443 STABILITO 1
31.13.77.36 443 STABILITO 1
31.13.77.29 443 STABILITO 1

Tutti i campi sono separati da tabulazione. Sono in grado di estrarre l'IP e la porta ma non sono a conoscenza di come confrontare due colonne e ottenere il conteggio.


awk -F "\ t" '! visto [$ 1, $ 2] ++' file.txt mi sta dando i valori univoci basati su due colonne ma non mi viene in mente di
contarlo

È possibile utilizzare uniq -cper contare righe univoche (le righe devono essere ordinate in anticipo).
wvxvw,

Risposte:


0
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

Potresti aggiungere qualche spiegazione a questa risposta e spiegare cosa sta facendo esattamente.
Pimp Juice IT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.