【发布时间】:2014-04-04 08:42:36
【问题描述】:
我是 shell 脚本的新手。你能建议我一些代码来满足以下要求吗?
我有以下格式化文件夹
示例:/home/backup/store_id/datewisefolder/some.zip
喜欢:/home/backup/44/22032014/some_file.zip
/home/backup/44/23032014/some_file.zip
/home/backup/44/24032014/some_file.zip
/home/backup/44/25032014/some_file.zip
还有很多..
我想去每个商店 id 文件夹并只保留最近的 3 个日期明智的文件夹其余部分已删除。这里有 44 个商店 id 文件夹 23032014,24032014,25032014 这三个是最近的一个,所以保持原样。 22032014 旧,所以删除一个。
我编写了查找最近三个文件的 shell 代码,但我不知道如何使用 store_ID 文件夹循环删除其余文件。
下面的代码找出最近的文件夹日期
cd /home/backup/44/ ls -1 |排序-n -k1.8 -k1.4 -k 1 |尾 -3
【问题讨论】:
-
您可以删除超过 n 的文件,例如
find -mtime +3 -delete删除超过 3 天的文件。 -
我不希望基于时间