3

次のような文字列を含む多くの行を含むファイルがあります: blah blah num=12345; 何とか何とか

等号の後の数字が 1 より大きい、上限のない行を探したいと思います。(数字がゼロから始まるとは思いません。)

1 以外の任意の数字で始まる任意の数字に一致するこの式から始めましたが、問題なく動作し、理解しています。

grep 'num=[2-9][0-9]*;'

この次の式、2 桁以上の 1 で始まる任意の数値を返すはずですが、代わりに何も返されません。

grep 'num=1[0-9]+;'

上記の意味は次のとおりです. どこが間違っていますか?

4

1 に答える 1

5

grep では + 量指定子をエスケープする必要があります

grep 'num=1[0-9]\+;'

あなたの問題については、これを使用できます(私がよく理解していれば、すべての数値> 1に対して):

grep 'num=\([2-9]\|1[0-9]\)[0-9]*;'
于 2013-06-19T01:13:00.050 に答える