我试图给grep一个用于屏幕分辨率的正则表达式模式(例如1280x720
),如下所示
[0-9]{3,}x[0-9]{3,}
但它似乎没有起作用。
以下作品但不转化为上述作品。
[0-9][0-9][0-9][0-9]*x[0-9][0-9][0-9][0-9]*
答案 0 :(得分:3)
这是一个ERE(扩展正则表达式),grep使用BRE(默认情况下是基本的正则表达式。你可以转义{}:
grep '[0-9]\{3,\}x[0-9]\{3,\}'
或告诉grep将其解释为ERE:
grep -E '[0-9]{3,}x[0-9]{3,}'
答案 1 :(得分:2)
你的正则表达式似乎对bash很好:
[[ 1280x720 =~ [0-9]{3,}x[0-9]{3,} ]] && echo OK
OK
如果您想使用grep
:
$ cat B
640x480
$
$ grep -c "[0-9]\{3,\}x[0-9]\{3,\}" B
1
$
$ grep --version
grep (GNU grep) 2.14