stackoverflow上有几个不同的主题,用于查找/删除目录中最旧的目录/文件.我已经阅读了很多这些,并且看到了无数不同的方式,显然对其他系统上的某些人有用,但在我的特定情况下却不适合我.
限制是:
我在FreeBSD上(Freenas 9.3)
目录中有空格
不要使用ls(http://mywiki.wooledge.org/ParsingLs)
不能使用-printf的find(对我来说不存在)
我得到的最接近的是这样的(不完整):
find . -maxdepth 1 -d -name "Backup Set*" -print0 | xargs -0 stat -f "%m %N" | sort -r| awk 'NR>5'
这给了我要删除的目录,但是现在它们的前面有时间戳,我不确定如果我剥离并管道到rm我将回到我无法删除带有空格的目录的情况.
输出:
1450241540 ./Backup Set1 1450241538 ./Backup Set0
感谢您的帮助.
我看过的相关帖子:
https://superuser.com/questions/552600/how-can-i-find-the-oldest-file-in-a-directory-tree
Bash脚本:删除最旧的目录
删除bash中除最新的X文件之外的所有文件