【发布时间】:2014-07-29 09:52:30
【问题描述】:
我想创建一个 shell 脚本,它遍历文件夹并删除与 [versionnumber-n] 匹配的文件夹,其中 n > 0
版本号在文件中,内容如下:
MAVEN_VERSION=1.2.7.0-SNAPSHOT
这是一个例子:
文件列表是这样的
drwxrwxr-x 4 jenkins jenkins 4096 Jul 29 10:54 ./
drwxrwxr-x 20 jenkins jenkins 4096 Jul 4 09:20 ../
drwxr-xr-x 2 jenkins jenkins 4096 Jul 23 12:35 1.2.6.0-SNAPSHOT/
drwxr-xr-x 2 jenkins jenkins 4096 Jul 28 23:13 1.2.7.0-SNAPSHOT/
-rw-rw-r-- 1 jenkins jenkins 403 Jul 29 10:11 maven-metadata-local.xml
-rw-r--r-- 1 jenkins jenkins 403 Jul 28 23:13 maven-metadata-mtx-snapshots.xml
-rw-r--r-- 1 jenkins jenkins 40 Jul 28 23:13 maven-metadata-mtx-snapshots.xml.sha1
-rw-r--r-- 1 jenkins jenkins 403 Jul 28 23:13 maven-metadata.xml
-rw-r--r-- 1 jenkins jenkins 32 Jul 28 23:13 maven-metadata.xml.md5
-rw-r--r-- 1 jenkins jenkins 40 Jul 28 23:13 maven-metadata.xml.sha1
-rw-r--r-- 1 jenkins jenkins 186 Jul 28 23:13 resolver-status.properties
我希望脚本删除文件夹 1.2.6.0-SNAPSHOT/ 但不是 1.2.7.0-SNAPSHOT/。如果还有像 1.2.5.0-SNAPSHOT/ 1.2.4.0-SNAPSHOT/ 这样的文件夹。
我现在拥有的:
.*(?!1.2.7.0)(-SNAPSHOT)
不幸的是,这两个文件夹都匹配(在上面的示例中)
编辑:只是太早点击提交...
【问题讨论】:
-
请显示这些文件夹的示例列表。并展示你如何列出它们。
-
我只是不小心点击了提交...道歉
-
所以你想删除除 1.2.7.0 版本之外的所有内容?