grep '[:digit:]{1,}-{1,}' *.txt| wc -l
此命令输出:0
grep '1-' *.txt| wc -l
但是,此命令输出:10598
两个命令都是从同一目录运行的。第一个命令应该返回大于或等于第二个命令的输出。任何人都可以对这里发生的事情有所了解吗?
答案 0 :(得分:3)
echo 1 | grep '[:digit:]'
#nothing....
grep
使用不同的语法,您需要[[:digit:]]
或[0-9]
。
基本grep不支持{1,}
语法,您可以使用其他模式,例如带有-E
的扩展模式...注意:通常会使用+
来匹配一个或更多人物......
一般说明:总是在小部件中测试正则表达式,看看每个部分是否真的按照您的想法执行。表达式变得复杂后,很难说出错了。