Linux - 只保存最近的 10 个文件夹并删除其余的

标签 linux bash shell

我有一个包含我的应用程序版本的文件夹,每次我上传新版本时都会为它创建一个新的子文件夹,子文件夹名称是当前时间戳,这里是使用的主文件夹的打印输出(ls -l |grep ^d):

drwxrwxr-x 7 root root 4096 2011-03-31 16:18 20110331161649
drwxrwxr-x 7 root root 4096 2011-03-31 16:21 20110331161914
drwxrwxr-x 7 root root 4096 2011-03-31 16:53 20110331165035
drwxrwxr-x 7 root root 4096 2011-03-31 16:59 20110331165712
drwxrwxr-x 7 root root 4096 2011-04-03 20:18 20110403201607
drwxrwxr-x 7 root root 4096 2011-04-03 20:38 20110403203613
drwxrwxr-x 7 root root 4096 2011-04-04 14:39 20110405143725
drwxrwxr-x 7 root root 4096 2011-04-06 15:24 20110406151805
drwxrwxr-x 7 root root 4096 2011-04-06 15:36 20110406153157
drwxrwxr-x 7 root root 4096 2011-04-06 16:02 20110406155913
drwxrwxr-x 7 root root 4096 2011-04-10 21:10 20110410210928
drwxrwxr-x 7 root root 4096 2011-04-10 21:50 20110410214939
drwxrwxr-x 7 root root 4096 2011-04-10 22:15 20110410221414
drwxrwxr-x 7 root root 4096 2011-04-11 22:19 20110411221810
drwxrwxr-x 7 root root 4096 2011-05-01 21:30 20110501212953
drwxrwxr-x 7 root root 4096 2011-05-01 23:02 20110501230121
drwxrwxr-x 7 root root 4096 2011-05-03 21:57 20110503215252
drwxrwxr-x 7 root root 4096 2011-05-06 16:17 20110506161546
drwxrwxr-x 7 root root 4096 2011-05-11 10:00 20110511095709
drwxrwxr-x 7 root root 4096 2011-05-11 10:13 20110511100938
drwxrwxr-x 7 root root 4096 2011-05-12 14:34 20110512143143
drwxrwxr-x 7 root root 4096 2011-05-13 22:13 20110513220824
drwxrwxr-x 7 root root 4096 2011-05-14 22:26 20110514222548
drwxrwxr-x 7 root root 4096 2011-05-14 23:03 20110514230258

我正在寻找将保留最后 10 个版本(子文件夹)并删除其余版本的命令。

有什么想法吗?

最佳答案

给你。 (已编辑)

ls -dt */|尾-n +11 | xargs rm -rf

首先列出最近修改的目录,然后取出除前 10 个以外的所有目录,然后将它们发送到 rm -rf

关于Linux - 只保存最近的 10 个文件夹并删除其余的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024088/

相关文章:

linux - 为什么 ^M 和 ^[ 被附加到我的文件中?

linux - 如何为 Git 命令设置自动完成功能?

linux - 在 bash 中使用区分行符号 # 提取子数组

linux - 使用Python subprocess.call调用bash脚本和参数失败

linux - 如何在 bash shell 脚本中启动两个线程?

linux - Sed 在位置前插入符号

c++ - 检查文件描述符中可用缓冲区字符的数量

linux - 指定 Telnet 窗口大小

linux - 使用 'rm' 命令删除文件/文件夹时如何启用确认警报?

java - 如何从 bash 脚本指定工作目录