Можно ли взять последнюю строку wget? - PullRequest
4 голосов
/ 03 октября 2011
$ 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 -> /((.+))/

(я пытаюсь разобрать для среднего КБ / с)

Ответы [ 3 ]

4 голосов
/ 03 октября 2011

Вы можете перенаправить вывод команды.Например:

$ wget --output-document=/dev/null http://website.com/file.jpg 2>&1 | tee /tmp/somefile
$ tail -n 1 /tmp/somefile
2 голосов
/ 03 октября 2011

Если у вас установлен apache, вы можете использовать инструмент тестирования Apache HTTP-сервера:

ab -n1 http://website.com/file.jpg | grep -F 'Transfer rate:'

вы получите вывод как:

Transfer rate:          1722.38 [Kbytes/sec] received
1 голос
/ 03 октября 2011
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 раньше был другой текст в скобках).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...