有人可以帮我使用正则表达式通过正则表达式从下面的 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%。
谢谢。
awk '$1 ~ /[[:digit:]]{1,3}%/ { print $1 }'
检查线型的第一个分隔部分是否与 1-3 位数字匹配,后跟 %。如果是,请打印第一条。
使用这个:
^d{1,3}%
^
- 行
首d{1,3}
- 一位、两位或三位数字%
- 感知符号
演示:regex101.com/r/tuyAbD/1
如果你只想有数字(没有%
(,请使用这个:
^d{1,3}(?=%)
演示:regex101.com/r/tuyAbD/2
使用grep
和-p
:
grep -oP '^d+%s'