nethog と netperf からの grep 値

nethog と netperf からの grep 値

プロセスのネットワーク アクティビティと接続の帯域幅を監視する必要があります。そこで、 と を と組み合わせて使用​​しnethognetperfgrepawkファイルに書き込むことにしました。

nethogコマンド: nethogs -t eth0 | grep firefox | awk '{ print $3 }'(アップロード/ダウンロード速度を計測します)。1つ目の問題そのコマンドは何も印刷しません。

詳細: コマンド:nethogs -t eth0 | grep firefox出力:

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

右下の 2 つの値が必要です。しかし、ご覧のとおり、出力は一貫していません (スペース)。 を追加します| awk '{print $3}' most of the time return nothing。そして、これを修正することはできません。

netperfコマンド:netperf -H 192.168.1.10出力は次のようになります:

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**

右下に値を印刷したいのですが、方法がわかりません。2番目の問題=> fedorqui によって解決されました!

皆さん、助けてくれませんか?どんなアイデアでも大歓迎です!

答え1

のために2番目の問題、 できるよ:

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

これにより、指定された入力の最後の行の最後のフィールドが出力されます。

答え2

まずはこれから始めましょう:

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

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

これらが機能しない場合は、awk スクリプトへのサンプル入力、予想される出力、および説明を提供してください。

必要なもの:

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

一部の awk では、POSIX によって END セクションのフィールドを保持する必要がないため、この処理は実行されません。

関連情報