2014-01-12 3 views
0

Я хочу прочитать «Content-Lenght» одного интернет-файла. Для этого я использую Curl для извлечения заголовковПрочитайте вывод команды (несколько строк)

OUTPUT=`curl -I $URL` 

HTTP/1.1 200 OK 
Date: Sun, 12 Jan 2014 00:41:11 GMT 
Server: Apache/2.2.15 (Red Hat) 
Last-Modified: Sun, 05 Jan 2014 09:41:44 GMT 
Accept-Ranges: bytes 
Content-Length: 553648128 
Content-Type: application/octet-stream 

, но, когда я пытаюсь напечатать $ OUTPUT, я получаю только последнюю строку.

+0

FYI, причина, почему вы только получаете последнюю строку, потому что вы не процитировать переменную, поэтому она разделена на пробельных и печатается на одной строке. Это, вместе с тем, что CURL выводит возврат каретки из ответа HTTP, означает, что вы видите только последний, хотя все данные есть. –

ответ

1
OUTPUT=$(curl -I $URL | grep 'Content-Length') 
0

Баш

curl -I $url | while read -r response 
do 
    case "$response" in 
    *Content-Length*) 
     echo "==> $response" 
    ;; 
    esac 
done 
Смежные вопросы