dog*_*ane 37
你这里不需要正则表达式.您可以使用find与-name和-not选项:
find . -not -name "*.jar" -not -name "*.ear"
Run Code Online (Sandbox Code Playgroud)
上述更简洁(但不太可读)的版本是:
find . ! \( -name "*.jar" -o -name "*.ear" \)
Run Code Online (Sandbox Code Playgroud)
Tim*_*ker 13
编辑:新方法:
由于POSIX正则表达式不支持环视,因此您需要否定匹配结果:
find . -not -regex ".*\.[je]ar"
Run Code Online (Sandbox Code Playgroud)
之前发布的答案使用了lookbehind,因此在这里不起作用,但这里是为了完整性:
.*(?<!\.[je]ar)$
Run Code Online (Sandbox Code Playgroud)
find . -regextype posix-extended -not -regex ".*\\.(jar|ear)"
Run Code Online (Sandbox Code Playgroud)
这将完成这项工作,我个人觉得它比其他一些解决方案更清晰.不幸的是,需要使用-regextype(混乱一个简单的命令)来使捕获组工作.
| 归档时间: |
|
| 查看次数: |
15915 次 |
| 最近记录: |