0
我有一个复制构建目录的路径,所以我只需要保留最新的3个目录并删除其他目录,而不是按日期,而是使用最新的内部版本号。删除一个以内部版本号结尾的目录
,如果我有在路径/ tmp目录
1.1.0000-21, 1.1.0000-5, 1.1.0000-18, 1.1.0000-4
我应该在/tmp
路径作为其最古老的目录中删除1.1.0000-4
目录下面的目录。
我正在尝试rm -rf /base/path -type d -ctime 4
,但这是基于最新的文件,不知道要删除最旧的数字,我需要一些reg-ex在这里吗?
是Michael,长度不固定。我用文件夹名更新了我的问题。我发现编号第一个数字在连字符( - )后面,因此,如果有XXXXXX-84,XXXXXX-2,XXXXXX-114和XXXXXX-3,那么114,2和3将作为新版本反向),这是错误的。 – guest 2014-09-11 12:04:18
谢谢你的帮助迈克尔。如果我的所有版本的增量顺序相同(大部分都是),那么以下方法将起作用。 ls | sort -nr | tail -n +4 | xargs rm -rf – guest 2014-09-11 13:26:12