我可以使用什么Unix命令来强制限制文件夹中的100个文件?
发布时间:2020-12-15 18:31:37 所属栏目:安全 来源:网络整理
导读:在限制为100个文件后,我想删除目录中最旧的文件.换句话说,我想确保目录中不存在超过100个文件,如果超出限制,则删除限制后的最旧文件.我不只是想删除超过x天的文件,因为如果这是在cronjob上运行,最终所有文件都将被删除. 我想如果我要编程这个,伪代码将是: l
在限制为100个文件后,我想删除目录中最旧的文件.换句话说,我想确保目录中不存在超过100个文件,如果超出限制,则删除限制后的最旧文件.我不只是想删除超过x天的文件,因为如果这是在cronjob上运行,最终所有文件都将被删除.
我想如果我要编程这个,伪代码将是: list = dir.getFiles() list.sortByDate() deleteList = list.getSubList(100,end) // from,to deleteAll(deleteList) 那么适当的Unix命令是什么?我想find会以某种方式涉及-exec参数,但我不确定排序/限制方面.
发现不应该是必要的.如果你先去正确的目录, rm -f `ls -rt | head -n -100` 指定路径 rm -f `ls -rt /path/to/my/dir | head -n -100` 而对于cron(在Ubuntu上!) /bin/rm -f `/bin/ls -rt /path/to/my/dir | /usr/bin/head -n -100` 可以使用例如确定命令路径来确定命令路径. which ls 最后,如果文件名包含空格,则应引用ls -Q然后将其发送到xargs /bin/ls -Qrt /path/to/my/dir | /usr/bin/head -n -100 | /usr/bin/xargs /bin/rm -f (在Ubuntu上测试,为了你的测试,用echo替换rm -f以查看要删除的内容) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |