我有以下命令
sudo wget --output-document=/dev/null http://speedtest.pixelwolf.ch
输出
--2016-03-27 17:15:47-- http://speedtest.pixelwolf.ch/
Resolving speedtest.pixelwolf.ch (speedtest.pixelwolf.ch)... 178.63.18.88, 2a02:418:3102::6
Connecting to speedtest.pixelwolf.ch (speedtest.pixelwolf.ch) | 178.63.18.88|:80... connected.
HTTP Request sent, awaiting response... 200 OK
Length: 85 [text/html]
Saving to: `/dev/null`
100%[======================>]85 --.-K/s in 0s
2016-03-27 17:15:47 (8.79 MB/s) - `dev/null` saved [85/85]
我希望能够从最后一行解析(8.79 MB/s)
并将其存储在一个文件中(或者我可以轻松地将其存储到本地PHP文件中),我试图存储通过将我的命令更改为--output-document=/dev/speedtest
来完整输出但是这只是在文件中保存了“无法访问网站”,而不是命令的终端输出。
不太确定从哪里开始,所以任何帮助都会很棒。
不确定它是否有帮助,但我的意图是这个实例中的存储值(8.79
)由PHP文件读取并在那里处理,每30秒我将通过:{{ 1}}其中handleSpeedTest.php将能够读取该存储的值并相应地处理它。
答案 0 :(得分:2)
我将网址更改为有效的网址。将stderr重定向到stdout。使用grep --only-matching(-o)和regex。
sudo wget -O /dev/null http://www.google.com 2>&1 | grep -o '\([0-9.]\+ [KM]B/s\)'