2012-08-10 54 views
0

我有一个Java程序需要从某个文件读取。该文件应该每天只创建一次。另一个程序创建该文件。我如何使用shell脚本检查文件是在今天创建的(上午午夜/ 12点)?检查文件是否是今天创建

东西沿着

if (file created today) 
// process 
else 
// remove old file 
// create new file 
// process 

我已经看到了使用find命令的例子线,但我已经知道该文件的名称。

TL;博士

我如何检查是否文件是在一个shell脚本创建的今天?我知道文件的名称。

+1

By _today_你的意思是在过去的24小时内,还是你的意思是从上一个午夜开始,如果是这样,你的意思是在当前时区还是UTC? – 2012-08-10 05:51:45

+0

我可以看到你为什么问这个问题。对不起,我不清楚。我的意思是当前时间的前一个午夜。否则,我可以使用-ctime/-mtime。 – Anon 2012-08-10 05:52:43

+0

@anon - 如果它是'if(find not today today)remove and create new file,那么脚本不会更好(更容易);网络连接; process'? – 2012-08-10 05:59:48

回答

1

为什么不使用cron在午夜删除/创建文件(如果这是你的意思)?

或者

在创建文件(当它不存在)设立at在作业删除它在24小时内(对于其它意义上的)?

+0

完美!谢谢 – Anon 2012-08-10 06:07:00

1

你不能,因为创建时间不存储在* nix上。您可以使用stat(1)来检查上次修改时间。

+0

@Anon:对,傻了。固定。 – 2012-08-10 05:58:43

相关问题