0

我想压缩在特定日期创建的文件数量。我用了这个命令

zip -rt 06222012 TEST root/*.csv

此命令压缩根目录中的所有文件,扩展名为 .csv,日期 >=22/6/2012 创建

但这不符合我的要求。我的要求是.. 假设有两个脚本 a.sh 和 b.sh a.sh(Manual run) 在 22/6/2012 1:00 AM 执行,并在 22/6/2012 4:00 AM 完成,创建 4 个 .csv 文件

此 b.sh 文件在 22/6/2012 上午 6:00 通过 cron 作业执行并在 22/6/2012 上午 10:00 完成并创建 5 个 .csv 文件

上面的 zip 命令将压缩所有这 9 个文件,因为它们是在 22/6/2012 的同一天创建的,但我只需要 5 个仅由 b.sh 创建的 .csv 文件,这意味着在 22 日创建的文件/6/2012 上午 10:00

在上面的 zip 命令中,我也可以给出小时和分钟吗?

4

1 回答 1

1

鉴于上面评论中已经提到的事实,即使用标准文件系统,您唯一的机会是通过“上次修改的文件”来近似“创建的文件”,您可能希望使用find.

在 stackoverflow 上已经有一篇很好的文章(参见:Shell Script — Get all files modified after <date>

关于您的情况,该-newerXY选项很可能是最适合该问题的选项,例如:

  zip -r TEST `find root -name"*.csv" -newermt 10:00`
于 2013-03-08T22:16:25.597 回答