是否有可能抓住wget的最后一行?

时间:2011-10-03 03:59:49

标签: linux bash unix terminal grep

$ 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)

3 个答案:

答案 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的输出中的括号中还有其他文字。)