我有一个txt文件是这样的:如何使用grep从文件中检索匹配的文本?
asdfasdf
ffaCover 91adf
ffffa
我想用grep或一些Linux工具捕获“盖”后面的空格后的1个或2位数字。在一些编程语言中,我会使用正则表达式库来匹配/^Cover(\ d \ d?)$ /。然后有一些方法可以得到括号内的1或2位数字。有没有办法使用grep来做到这一点?
我有一个txt文件是这样的:如何使用grep从文件中检索匹配的文本?
asdfasdf
ffaCover 91adf
ffffa
我想用grep或一些Linux工具捕获“盖”后面的空格后的1个或2位数字。在一些编程语言中,我会使用正则表达式库来匹配/^Cover(\ d \ d?)$ /。然后有一些方法可以得到括号内的1或2位数字。有没有办法使用grep来做到这一点?
我一直做这样的事情:
grep -Po '(?<=Cover\s)(\d\d?)'
的-o
选项grep
使它只打印模式,不包括零宽度向后断言相匹配的部分。
但是,我不知道anubhava之前答案中的\K
选项,这看起来更清晰。
我结束了这个,因为我所在的Windows系统似乎不支持\ K选项。 –
只是管grep -oP
:
grep -Po 'Cover \K[0-9]{1,2}'
91
\K
重置所有先前匹配的信息。
'grep -o'或'cut -f'。 – bishop