Grep-Werte von Nethog und Netperf

Grep-Werte von Nethog und Netperf

Ich muss die Netzwerkaktivitäten eines Prozesses und die Bandbreite der Verbindung überwachen. Daher habe ich beschlossen, diese Funktion zu verwenden nethogund netperfmit zu kombinieren grepund awkdie Werte in eine Datei zu schreiben.

nethogBefehl: nethogs -t eth0 | grep firefox | awk '{ print $3 }'(Ich möchte die Upload-/Download-Geschwindigkeit übernehmen).Das 1. Problemist, dass der Befehl nichts druckt.

Weitere Details: Befehl: nethogs -t eth0 | grep firefoxAusgabe:

usr/lib/firefox/firefox-bi�)/4956/1000  0.338867    0.239063
/usr/lib/firefox/firefox-bi�)/4956/1000 0.543555    0.274219
/usr/lib/firefox/firefox-bi�)/4956/1000 0.794531    0.489844
/usr/lib/firefox/firefox-bi�)/4956/1000 0.794531    0.489844
/usr/lib/firefox/firefox-bi�)/4956/1000 0.749023    0.589844
/usr/lib/firefox/firefox-bi�)/4956/1000 1.30098 3.47617
/usr/lib/firefox/firefox-bi�)/4956/1000 1.90449 8.0127
/usr/lib/firefox/firefox-bi�)/4956/1000 5.31641 25.0033
/usr/lib/firefox/firefox-bi�)/4956/1000 8.60762 42.0176

Ich möchte die beiden Werte unten rechts. Aber wie Sie sehen, ist die Ausgabe nicht konsistent (das Leerzeichen), addieren Sie | awk '{print $3}' most of the time return nothing. Und das kann ich nicht beheben.

netperfBefehl: netperf -H 192.168.1.10und die Ausgabe ist:

Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

524288 524288 262144    10.00    **718.62**

Ich möchte den Wert unten rechts drucken, habe aber keine Ahnung, wie das geht. Das ist die2. Problem=> gelöst von fedorqui!

Könnt ihr mir helfen? Ich bin für alle Ideen dankbar!

Antwort1

Für die2. Problem, du kannst tun:

your_command | tail -1 | awk '{print $NF}'

Dadurch wird das letzte Feld der letzten Zeile der angegebenen Eingabe gedruckt.

Antwort2

Beginnen wir damit:

nethogs -t eth0 | awk '/firefox/{ print $3 }'

netperf -H 192.168.1.10 | awk 'END{ print $NF }'

Wenn diese nicht funktionieren, geben Sie Beispieleingaben für die Awk-Skripte, die erwartete Ausgabe und Erklärungen an.

Du bräuchtest:

netperf -H 192.168.1.10 | awk '{v=$NF} END{ print v }'

mit einigen AWKs, da POSIX nicht verlangt, Felder im END-Abschnitt beizubehalten.

verwandte Informationen