コマンドから出力を取得しようとしています
iperf -c 10.0.0.1 -t 3600 -i 2
また、ログ記録の1時間全体について、リストされている間隔フィールドと帯域幅フィールドのみが必要です。
私は何年にもわたってgrepやawkを使用していません。
ヘルプは素晴らしいでしょう!
サンプル出力:
------------------------------------------------------------
Client connecting to node2, TCP port 5001
TCP window size: 129 KByte (WARNING: requested 130 KByte)
------------------------------------------------------------
[ 3] local <IP Addr node1> port 2530 connected with <IP Addr node2> port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 19.7 MBytes 15.8 Mbits/sec
必要な出力:
0.0-10.0 15.8
> iperf -c 127.0.0.1 -t 2 -i 0.5 -f m | tee log1 ------------------------------------------- ----------------- 127.0.0.1に接続しているクライアント、TCPポート5001 TCPウィンドウサイズ: 2.50 Mバイト(デフォルト) ---------------------------------------- -------------------- [3]ローカル127.0.0.1ポート42200が127.0.0.1ポート5001に接続 [ID]間隔転送帯域幅 [3] 0.0-0.5秒449メガバイト7537メガバイト/秒 [3] 0.5-1.0秒578メガバイト9697メガバイト/秒 [3] 1.0-1.5秒575メガバイト9649メガバイト/秒 [3] 1.5〜2.0秒587メガバイト9848メガバイト/秒 [3] 0.0〜2.0秒2190メガバイト9183メガバイト/秒 > awk- F '[-] +' '/ sec/{print $ 3 "-" $ 4 "" $ 8}' log1 0.0-0.5 7537 0.5-1.0 9697 1.0-1.5 9649 1.5-2.0 9848 0.0-2.0 9183 > iperf -c 127.0.0.1 -t 2 -i 0.5 -fm |\ > awk -Wi -F '[-] +' '/ sec/{print $ 3 "-" $ 4 "" $ 8}' #インタラクティブな結果は# の後に続きます
> iperf -c 127.0.0.1 -t 2 -i 0.5 -xc -yc | tee log2 20180515044354 , 3,0.0-0.5,536084480,8577351680 20180515044355 , 3,0.5-1.0,602537984,9640607744 20180515044355 , , 3,1.0-1.5,621805568,9948889088 20180515044356 , 3,1.5-2.0,620888064,9934209024 20180515044356 , 3,0.0-2.0,2381447168 、9524874284 > awk -F、 '{print $ 7 "" $ 9/1e6}' log2 0.0-0.5 8577.35 0.5-1.0 9640.61 1.0-1.5 9948.89 1.5-2.0 9934.21 0.0-2.0 9524.87 > iperf -c 127.0.0.1 -t 2 -i 0.5 -xc -yc | awk -Wi -F、 '{print $ 7 "" $ 9/1e6}' #インタラクティブな結果は# の後に続きます