如何通过正则表达式获取apt get输出的百分比?

How to get the percentage of apt get output through regex?

谁能帮我用正则表达式从下面的 bash 输出中获取百分比?

Get:11 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libvlc$

Get:12 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 fonts-freefont-ttf$

40% [12 fonts-freefont-ttf 855 kB/4,140 kB 21%]

我只需要从上面的例子中得到 40%..

谢谢。

使用这个:

^\d{1,3}%

^ - 行首
\d{1,3} - 一位、两位或三位数字
% - 百分号

演示:regex101.com/r/tuyAbD/1

如果你只想得到数字(没有 %),使用这个:

^\d{1,3}(?=%)

演示:regex101.com/r/tuyAbD/2

 awk ' ~ /[[:digit:]]{1,3}%/ { print  }'

检查线条模式的第一个定界部分是否匹配后跟 % 的 1-3 位数字。如果是,打印第一张。

使用 grep-p :

grep -oP '^\d+%\s'