关于查找/删除目录中最旧的目录/文件的stackoverflow有几个不同的主题。我阅读了很多,并且看到了很多不同的方式,这些方式对于其他系统中的某些人显然有效,但在我的情况下不适用于我。通过Bash删除除FreeBSD上最旧的目录(no -printf,带空格,无zsh)
约束条件是:
- 林在FreeBSD(FreeNAS的9.3)
- 目录有空格的
- 不要使用ls(http://mywiki.wooledge.org/ParsingLs)
- 不能使用-printf发现的(犯规存在对我来说)
我得到的最接近的是这样的东西(不完整):
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 scripting: Deleting the oldest directory
Delete all but the most recent X files in bash
做了'统计输出可以让你输入额外的dbl引号,例如'stat -f“%m \”%N \%“”'?好Q,祝你好运。 – shellter