私はそれを使用しています速度テストBASHスクリプトのCLIを実行し、1行だけを使用して出力を取得しようとしています(可能な場合)。
Speedtestの一般的な出力:
Speedtest by Ookla
Server: (censored)
ISP: (censored)
Latency: 93.85 ms (222.66 ms jitter)
Download: 85.75 Mbps (data used: 134.8 MB)
Upload: 5.68 Mbps (data used: 6.2 MB)
待ち時間、ダウンロード速度、アップロード速度、ジッタを取得したいです。
Most ideal format:
Download Speed: xx Mbps
Upload Speed: xx Mbps
Latency: xx ms
Jitter: xx ms
私の現在のテストコードは2つの無駄な文を使用しています。
dl_speed=`speedtest | grep "Download: " | head -2 | tail -1 | awk {'print$2'} | cut -f1 -d:`
ul_speed=`speedtest | grep "Upload: " | head -2 | tail -1 | awk {'print$2'} | cut -f1 -d:`
echo "Download Speed: $dl_speed Mbps"
echo "Upload Speed: $ul_speed Mbps"
ベストアンサー1
GNU awkを使用してください。少なくともスペースと(
フィールド区切り文字を使用しました。これをspeedtest
コマンドに追加します。
| awk 'BEGIN{ FS=" +|\\(" };
/Download/{ dow=$3 " " $4 };
/Upload/ { upl=$3 " " $4 };
/Latency/ { lat=$3 " " $4 };
/jitter/ { jit=$6 " " $7 };
END{
print "Download Speed:", dow;
print "Upload Speed:", upl;
print "Latency:", lat;
print "Jitter:", jit
}'
標準出力に出力:
ダウンロード速度:85.75Mbps アップロード速度:5.68Mbps 遅延時間:93.85ms ジッタ:222.66ms