如何指定正则表达式以返回除名称中的某个版本
之外的所有文件夹例如,我有这样的结构:
/tmp
|->java-1.9
|->libs-2.2.0-prebuild
| |-some content
|->libs-2.2.1-prebuild
| |-some content
|->libs-2.1.2-prebuild
| |-some content
我需要获取所有libs文件夹名称Unix的find命令,除了名称中包含特定版本的文件夹(f.g. 2.2.0)
我正在尝试此命令,但它不起作用
find /tmp/ -maxdepth 1 -type d -regex '.*libs-((?!2\.2\.0).)*'
答案 0 :(得分:1)
find
解决方案:
find /tmp/ -maxdepth 1 -type d -regex ".*/libs-.*" ! -regex "./libs-2\.2\.0-.*"
! <expr>
- 逻辑否定运算符,如果True
为<expr>
则提供False