2013-05-27 177 views
0

我写一个shell脚本(ksh)的目的是列出目录中的所有文件并检查已创建日期。如果日期超过30天,文件将压缩到另一个位置。日期和日期之间的日期差异转换日期文本

KSH代码:

--extracts the day and date of the file 

ls -al | awk '{print $6$7}' 

输出

May23 Jun13 ....... 

现在,当我抽出一天时间,我相信这是在文本。现在,我的要求是将文本更改为日期,并检查创建日期是否少于30天或更长。

但是,我发现了一些很好的建议,但没有一个能满足我的要求(据我搜索)。

请问您可以根据需要提出建议吗?

在此先感谢。

+0

Unix系统不存储文件创建日期。祝你好运。 – shellter

+0

嗨,我相信当我得到修改日期> – coolmego

+0

是的,如果你做'人发现'你会看到“-ctime n文件的状态是最近一次改变n * 24小时前。”已更改,未创建。也就是说,对于没有对它们进行任何更改的文件,'-ctime'和'-mtime'将起作用。祝你们好运。 – shellter

回答

1

请勿为此使用ls。使用find,例如

find . -type f -ctime +30 

或类似命令。

+0

感谢它为我工作。 – coolmego

+0

@coolmego,你现在应该通过接受他的回答来奖励Marc。 –