我想压缩特定日期创建的文件数量。我用了这个命令
zip -rt 06222012 TEST root/*.csv
此命令压缩了根目录中的所有文件,其日期为> = 22/6/2011创建.csv扩展名
但这不符合我的要求。我的要求是...... 假设有两个脚本a.sh和b.sh a.sh(手动运行)在22/6/2012 1:00 AM执行,并在2012年6月22日凌晨4:00完成并创建4 .csv文件
此b.sh文件在2012年6月22日上午6:00通过cron作业执行,并在12/22/2012 10:00 AM完成并创建5 .csv文件
上面的zip命令会压缩所有这9个文件,因为它们是在22/6/2012的同一天创建的,但我只需要5个.csv文件,这些文件只能由b.sh创建,这意味着获得的文件在22/6/2012 10:00 AM创建
在上面的zip命令中,我也可以给出小时和分钟吗?
答案 0 :(得分:1)
鉴于上述评论中已经提到的事实,使用标准文件系统,您唯一的机会是近似“由上次修改的文件”创建的“文件”,您可能希望使用find
来解决问题。 / p>
在stackoverflow上已有一篇关于它的文章很好(参见:Shell Script — Get all files modified after <date>)
关于你的情况,-newerXY
选项可能是最适合问题的选项,如:
zip -r TEST `find root -name"*.csv" -newermt 10:00`