我可以使用什么Unix命令来强制限制文件夹中的100个文件?

前端之家收集整理的这篇文章主要介绍了我可以使用什么Unix命令来强制限制文件夹中的100个文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在限制为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以查看要删除内容)

猜你在找的Bash相关文章