以下を使用して、アップロード速度テストの結果を出力しています
wput 10MB.zip ftp://user:pass@host 2>&1 | grep '\([0-9.]\+[KM]/s\)'
返す
18:14:38 (10MB.zip) - '10.49M/s' [10485760]
Transfered 10,485,760 bytes in 1 file at 10.23M/s
10.23M/s
結果(つまり速度)をエコーし、比較結果を表示したいと思います:
if speed=>5 MB/s then echo "pass" else echo "fail"
したがって、最終的な出力は次のようになります。
PASS 7 M/s
2013/01/23
理想的には、これまでのところすべてを 1 行で実行したいのですが、
wput 100M.bin ftp://test:test@0.0.0.0 2>&1 | grep -o '\([0-9.]\+[KM]/s\)$' | awk ' { if (($1 > 5) && ($2 == "M/s")) { printf("FAST %s\n ", $0); }}'
ただし、削除しても何も出力されません
&& ($2 == "M/s"))
それは機能しますが、明らかに5M / sを超える出力が必要であり、1K / sを超える場合でもエコーは高速です。誰かが私が逃したものを教えてもらえますか.