$ wget --output-document=/dev/null http://website.com/file.jpg
Resolving speedtest.sea01.softlayer.com... 67.228.112.250
Connecting to speedtest.sea01.softlayer.com|67.228.112.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1986284 (1.9M) [image/jpeg]
Saving to: `/dev/null'
2011-10-02 22:38:04 (337 KB/s) - `/dev/null' saved [1986284/1986284]
一切都在上面工作,但我想知道如何在变量中存储最后一行或通过GREP传递它 - > /((.+))/
(我正在尝试解析平均KB / s)
答案 0 :(得分:4)
您可以重定向命令的输出。例如:
$ wget --output-document=/dev/null http://website.com/file.jpg 2>&1 | tee /tmp/somefile
$ tail -n 1 /tmp/somefile
答案 1 :(得分:2)
如果安装了apache,则可以使用Apache HTTP服务器基准测试工具:
ab -n1 http://website.com/file.jpg | grep -F 'Transfer rate:'
输出如下:
Transfer rate: 1722.38 [Kbytes/sec] received
答案 2 :(得分:1)
wget -O /dev/null http://website.com/file.jpg 2>&1 |
sed -n '\%/dev/null%!d;s/.*(//;s/).*//p'
在我的系统上,最终输出行为空,否则sed
寻址会更简单。这是开箱即用的Ubuntu;如果您的sed
不同,则可能需要稍微调整脚本。
(我最初尝试使用grep -o '(.*)'
,但wget
的输出中的括号中还有其他文字。)