【发布时间】:2021-10-30 06:35:04
【问题描述】:
--UNIX 新手--
我正在寻找一个 UNIX 命令来根据日期逻辑删除目录中的一些文件。示例文件结构:
Aug 30 01:30 Test20210830.ctl
Aug 30 01:30 Test20210830.txt
Aug 3 01:30 Test20210803.ctl
Aug 3 01:30 Test20210803.txt
Aug 2 01:30 Test20210802.ctl
Aug 2 01:30 Test20210802.txt
Aug 1 01:30 Test20210801.ctl
Aug 1 01:30 Test20210801.txt
Jul 1 01:30 Test20210701.ctl
Jul 1 01:30 Test20210701.txt
Jun 16 01:30 Test20210616.ctl
Jun 16 01:30 Test20210616.txt
Jun 15 01:30 Test20210615.ctl
Jun 15 01:30 Test20210615.txt
ls -ltr 测试* | grep date +%b | head -2 -- 这个命令给出了我想要保留的前 2 个文件(每个月的前 2 个文件)。
我想从同一个月删除其余文件(因此 7 月和 6 月 2 日的文件仍然必须存在)。有一个工作在每个月底运行,所以..
删除文件并保留我想要的文件的最佳方法是什么?
【问题讨论】:
-
我建议使用文件名中的日期对它们进行排序,因为它是简单的字典顺序
-
如何在脚本或命令中做到这一点?如果我想删除其余的文件?
-
请准确显示您要保留的文件
-
我有个主意。我会准备一个答案