curl progress - показывать только процент

Есть ли возможность для команды curl показывать только процентный вывод в оболочку, а не все это, например:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.4M  100 12.4M    0     0  4489k      0  0:00:02  0:00:02 --:--:-- 4653k

Может быть, есть флаг, который я могу установить? Если нет, направьте его как-нибудь через регулярное выражение, чтобы показать мне постоянное обновление только процента?

Спасибо всем


person Abs    schedule 15.07.2009    source источник
comment
Если вы анализируете отправленное значение, что вы используете для этого? Вы можете использовать en.wikipedia.org/wiki/Expect для создания утилиты-оболочки: скрыть всю сложность парсинга в скрипте Expect и просто выводить то, что вам нужно.   -  person Godeke    schedule 15.07.2009
comment
Я использую функцию PHP popen и сохраняю вывод в текстовый файл. Я смотрю на вашу ссылку ссылки, это выглядит довольно сложно!   -  person Abs    schedule 15.07.2009


Ответы (3)


Могут помочь два модификатора, хотя ни один из них не является точным: --silent подавляет все обновления, а --progress-bar показывает только индикатор выполнения.

Изменить: один из вариантов упростить задачу — создать оболочку с помощью Expect, чтобы упростить вывод до ваш сценарий оболочки или что-то еще, что слушает curl.

person Godeke    schedule 15.07.2009

Параметр -# решает вашу проблему?

-#/--индикатор

Заставьте curl отображать информацию о ходе выполнения в виде индикатора выполнения вместо статистики по умолчанию.

Взято здесь.

person schnaader    schedule 15.07.2009
comment
Это выглядит интересно, но я собираюсь зафиксировать процент, есть ли способ сделать это не таким интерактивным? - person Abs; 15.07.2009
comment
У меня не установлен CURL, чтобы протестировать его, но я думаю, что он отображает какой-то тип полосы и процент в середине (или где-то еще). Можете ли вы передать это и отфильтровать числа, чтобы получить процент? - person schnaader; 15.07.2009
comment
Мои навыки командной строки не совсем хороши! Но я попытался направить вывод на этот | grep -o '[0-9]*' - однако ничего не вышло. Даже если бы это было так, будет ли это делаться постоянно по мере изменения числа? Может быть, нужно использовать петлю? - person Abs; 15.07.2009

Возможно, вы захотите попробовать вариант -#.

Он показывает простой индикатор выполнения и процент загрузки.

person Nick Presta    schedule 15.07.2009