捕获curl的进度百分比,但不带小数

问题描述 投票:0回答:2

这个问题特别是正则表达式问题。

我想使用

curl
捕获
bash
grep
命令的进度百分比,但不包括浮点数。目标是将这些捕获的值呈现给
dialog
--gauge
选项。

这是我迄今为止所取得的成就:

$ curl -#LO "http://upload.wikimedia.org/wikipedia/commons/4/4e/Pleiades_large.jpg" 2>&1 | stdbuf -oL tr '\r' '\n' | grep -Eo '[0-9.]*'

上面的示例命令将输出如下内容:

3.8
20.1
47.1
93.4
100.0

但我期待这样的结果:

3
20
47
93
100

我为此搜索了正则表达式,但没有找到任何好的结果。

非常感谢任何帮助。

regex bash curl grep
2个回答
1
投票

只需使用 .作为分隔符

$ curl -#LO "http://upload.wikimedia.org/wikipedia/commons/4/4e/Pleiades_large.jpg" 2>&1 | stdbuf -oL tr '\r' '\n' | grep -Eo '[0-9.]*' | cut -f1 -d\.

0
投票

可以使用

grep --line-buffered

改进解决方案
$ curl -#LO "http://upload.wikimedia.org/wikipedia/commons/4/4e/Pleiades_large.jpg" 2>&1 | stdbuf -oL tr '\r' '\n' | grep --line-buffered -Eo '[0-9.]*' | cut -f1 -d\.
© www.soinside.com 2019 - 2024. All rights reserved.