【问题标题】:How to configure curl to only show percentage?如何将 curl 配置为仅显示百分比?
【发布时间】:2010-11-11 01:22:31
【问题描述】:

curl 命令是否有一个选项可以只显示输出到 shell 的百分比而不是所有这些,例如:

  % 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

也许我可以设置一个标志?如果没有,请通过正则表达式以某种方式通过管道向我显示仅百分比的持续更新?

谢谢大家

【问题讨论】:

  • 如果你正在解析发送的值,你用什么来做呢?您可能会考虑使用en.wikipedia.org/wiki/Expect 创建一个包装实用程序:在 Expect 脚本中隐藏所有解析复杂性,只输出您需要的内容。
  • 我正在使用 PHP 的 popen 函数并将输出存储到文本文件中。我正在查看您的参考链接,它看起来很复杂!

标签: linux shell command-line curl


【解决方案1】:

-#这个参数能解决你的问题吗?

-#/--进度条

让 curl 显示进度信息 作为进度条而不是 默认统计。

来自here

【讨论】:

  • 这看起来很有趣,但我要捕捉百分比,有没有办法让它不那么互动?
  • 我没有安装 CURL 来测试它,但我认为这会显示某种类型的条形图和中间(或其他地方)的百分比。你能通过管道过滤这些数字以获得百分比吗?
  • 我的命令行技能不太好!但是我尝试将输出通过管道传输到此“| grep -o '[0-9]*'” - 但是没有任何结果。即使有,它会随着数量的变化而不断地这样做吗?也许需要使用循环?
【解决方案2】:

您可能想尝试-# 选项。

它显示一个简单的进度条和下载百分比。

【讨论】:

    【解决方案3】:

    两个修饰符可能会有所帮助,尽管两者都不准确:--silent 将禁止所有更新,--progress-bar 将仅显示进度条。

    编辑:让事情变得更简单的一种选择是使用Expect 制作一个包装器,以简化输出到您的 shell 脚本或任何正在收听 curl 的内容。

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多