Abs*_*Abs 3 linux shell command-line grep curl
这是我到目前为止所拥有的:
[my1@graf home]$ curl -# -o f1.flv 'http://osr.com/f1.flv' | grep -o '*[0-9]*'
####################################################################### 100.0%
Run Code Online (Sandbox Code Playgroud)
我希望使用 grep 并仅从 CURL 输出的进度条中提取百分比。
我认为我的正则表达式不正确,我也不确定这个 grep 是否会对持续更新的百分比生效?
我想做的基本上就是让 CURL 只给我百分比数字作为输出,而不是其他。
感谢您的任何帮助。
使用curl 7.36.0(也应该适用于其他版本),您可以通过以下方式提取百分比:
curl ... 2>&1 -# | stdbuf -oL tr '\r' '\n' | grep -o '[0-9]*\.[0-9]'
Run Code Online (Sandbox Code Playgroud)
这里...代表选项/文件名。这会输出一系列百分比数字。
Curl 在其输出中使用回车符\r,因此您需要tr首先将它们转换为\n因为grep是面向行的。您还需要修改输出缓冲区设置,以便stdbuf在curl 输出后立即获取百分比数字。
| 归档时间: |
|
| 查看次数: |
8774 次 |
| 最近记录: |