我有一个包含许多行的文件,其中包括这样的字符串: blah blah num=12345; blah blah
我想找到等号后面的数字大于1的行,没有上限。(我不期望一个数字从零开始。)
我从这个表达式开始,它将匹配任何数字,以任何数字开头,而不是1,它工作得很好,我理解它。
grep 'num=[2-9][0-9]*;'我想,下一个表达式应该返回以具有两个或更多位数的1开头的任何数字,但我却什么也没有得到:
grep 'num=1[0-9]+;'我认为上面的意思是:必须匹配num=1,然后必须在0-9之间匹配一次或多次,然后必须匹配;。我哪里出问题了?
发布于 2013-06-19 01:13:00
对于grep,您必须转义+量词
grep 'num=1[0-9]\+;'对于您的问题,您可以使用这个(对于所有数字>1,如果我理解得很好):
grep 'num=\([2-9]\|1[0-9]\)[0-9]*;'https://stackoverflow.com/questions/17181440
复制相似问题