在Linux

时间:2018-03-16 07:06:25

标签: bash

./myapp-maven-snapshots 
--25 Mar 2009      archetype-catalog.xml 
./myapp-maven-snapshots/com/org/teamcity/notifier/
        maven-metadata.xml
        maven-metadata.xml.md5
        maven-metadata.xml.sha1
        ./1.1.1-SNAPSHOT
                mynotifier-1.1.1-20160523.113654-1.pom
                mynotifier-1.1.1-20160523.113654-1.pom.sha1
                mynotifier-1.1.1-20160523.113654-1.pom.md5
                mynotifier-1.1.1-20160523.113654-1.jar
                mynotifier-1.1.1-20160523.113654-1.jar.md5
                maven-metadata.xml
                maven-metadata.xml.sha1
                maven-metadata.xml.md5
        ./1.1.2-SNAPSHOT
                mynotifier-1.1.2-20170523.113654-1.pom
                mynotifier-1.1.2-20170523.113654-1.pom.sha1
                mynotifier-1.1.2-20170523.113654-1.pom.md5
                mynotifier-1.1.2-20170523.113654-1.jar
                mynotifier-1.1.2-20170523.113654-1.jar.md5
                maven-metadata.xml
                maven-metadata.xml.sha1
                maven-metadata.xml.md5
        ./1.1.3-SNAPSHOT
                mynotifier-1.1.3-20180323.113654-1.pom
                mynotifier-1.1.3-20180323.113654-1.pom.sha1
                mynotifier-1.1.3-20180323.113654-1.pom.md5
                mynotifier-1.1.3-20180323.113654-1.jar
                mynotifier-1.1.3-20180323.113654-1.jar.md5
                maven-metadata.xml
                maven-metadata.xml.sha1
                maven-metadata.xml.md5

我在Linux服务器上有一个工件存储库。以上是其中一个maven快照存储库的文件夹结构。我想删除旧文物,比如说超过1岁。 我在同一

下面运行find + remove命令
find ./*maven*snapshots -type f -mtime +365 -printf "%h\0" | xargs -0 rm -rf

但是,如果我们注意到 archetype-catalog.xml 文件很旧,那么-printf%h会将./myapp-maven-snapshots显示为要删除的目录之一,因此删除包括不是1年的文件/文件夹在内的所有内容。

我如何调整此命令或一些新建议,使其按预期工作。 另请注意,由于我们在-SNAPSHOT目录中有多个文件,因此每个条目都显示与要删除的文件夹相同的父文件夹。

e.g。部分命令的输出是

find ./*maven*snapshots -type f -mtime +365 -printf "%h\0" | xargs -0

./myapp-maven-snapshots
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.1-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.1-SNAPSHOT 
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.1-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.1-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.1-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.1-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.2-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.2-SNAPSHOT 
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.2-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.2-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.2-SNAPSHOT
 ./myapp-maven-snapshots/com/org/teamcity/notifier/1.1.2-SNAPSHOT

痛点: 有多个快照目录需要过滤和删除, 所有仓库的文件夹结构都不相同 所有repo都没有-SNAPSHOTS用于他们的工件

0 个答案:

没有答案