linux 只输出数字,linux – CURL进度条:如何仅使用grep管道和提取数字?

这是我到目前为止:

[my1@graf home]$curl -# -o f1.flv 'http://osr.com/f1.flv' | grep -o '*[0-9]*'

####################################################################### 100.0%

我希望使用grep并仅从CURL输出的进度条中提取百分比.

我认为我的正则表达式是不正确的,我也不确定这个grep是否会影响持续更新的百分比?

我想要做的是基本上只获得CURL给我作为输出的百分比数字,没有别的.

感谢您的任何帮助.

解决方法:

你无法通过grep获得这样的进度信息;它没有意义.

curl将进度条写入stderr,因此在grep之前你必须重定向到stdout:

$curl – #-o f1.flv’http://osr.com/f1.flv’2>& 1 | grep 1 |结果较少:

^M 0.0

%^M######################################################################## 100.

0%^M######################################################################## 100

.0%^M######################################################################## 10

0.0%

您是否期望在其他地方重定向的连续数字流?或者您希望在一个点上获取数字?

如果它是前者,那么这种半成品就可以在一个小文件上运行:

$curl -# -o f1.flv 'http://osr.com/f1.flv' 2>&1 | sed 's/#//g' -

100.0% 0.0%

但它对大文件没用.在下载完成之前,输出不会打印,可能是因为curl似乎正在向终端发送^ H.可能有一种更好的方法来发现它,但我不会屏住呼吸.

$curl -# -o l.tbz 'ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2009/06/2009-06-02-05-mozilla-1.9.1/firefox-3.5pre.en-US.linux-x86_64.tar.bz2' 2>&1 | sed 's/#//g' -

100.0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

标签:linux,shell,grep,curl,command-line

来源: https://codeday.me/bug/20190724/1519942.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值