在其正则表达式中找到支持 OR 吗?

在其正则表达式中找到支持 OR 吗?

例如,我想查找目录中以“m”或“sh”结尾的所有文件。以下正确运行:

find . -regex '.*.m' -o -regex '.*.sh'

但这失败了:

find . -regex '.*.(m|sh)'

我究竟做错了什么?

答案1

刚刚逃离地狱:

find . -regex '.*.\(m\|sh\)

似乎有效。我不认为正则表达式特殊字符是否需要转义或需要在不同工具之间进行转义没有太多共识。

相关内容