这是字符串:
Volume: 0: 120% 1: 128%
我希望在"%"之前获得3个字符。字符。因此,对于此示例,输出必须类似于120 128
。我怎么能这样做?
答案 0 :(得分:2)
假设你实际上想要空格和%之间的所有内容(这个例子都是一样的),你可以这样做:
awk '{print $NF}' RS=% ORS=' '
答案 1 :(得分:2)
您可以使用此grep
:
$ grep -Po '...(?=%)' file
120
128
与以下内容相同:
grep -Po '.{3}(?=%)' file
或者如果你想确保你得到数字:
grep -Po '[0-9]{3}(?=%)' file
底层的想法是在找到%
之前打印三个字符。 (?=%)
表示此情况,称为"预见"。
使用-Po
我们指示grep它可以使用Perl正则表达式(-P
)并只打印匹配项(-o
)。