如何使用grep从文件中检索匹配的文本?

我有这样一个txt文件:

asdfasdf ffaCover 91adf ffffa 

我想使用grep或者一些linux工具来捕获“Cover”之后的空格之后的1或2个数字。 在一些编程语言中,我将使用正则expression式库来匹配/ ^ Cover(\ d \ d?)$ /。 然后有一些方法可以得到括号内的1或2位数字。 有没有办法使用grep来做到这一点?

我一直这样做:

  grep -Po '(?<=Cover\s)(\d\d?)' 

grep-o选项使得它仅打印模式的匹配部分,其不包括零宽度后向断言。

但是,我之前并不知道anubhava答案中的\K选项,这看起来更清晰。

只需管道grep -oP

 grep -Po 'Cover \K[0-9]{1,2}' 91 

\K PCRE正则表达式中的\K重置所有以前匹配的信息。