2012-08-13 89 views

回答

0

你应该可以使用find文件搜索工具,更具体地来说,就是它的-mtime-newer选项。

1
dateToFind=2011-05-18 
find . -printf "%TY-%Tm-%Td %p\n" | egrep "^$dateToFind " | sed "s/^$dateToFind //g" 

使用带-mtime选项的find可能会更快,但有一些困难。首先,我没有看到绝对日期的选项,因此您必须计算开始和结束时间偏移量。其次,您的时间偏移将很快失效,因此您可能需要-daystart选项。即使那样,如果你试图在近午夜时分运行,也可能会出现问题。

此外,在该日期修改并稍后修改的文件将不会被列出。我不知道如何确定这些随后修改的文件。

0
: ${2?usage: $0 [[CC]YY]MMDD pathname} 
touch -t${1}0000.00 /tmp/$$-zerosec 
touch -t${1}2359.59 /tmp/$$-lastsec 
find $2 -newer /tmp/$$-zerosec ! -newer /tmp/$$-lastsec 
rm /tmp/$$-????sec 

我们把这个脚本参数日期(如touch)和(对于整个目录树/)路径名。请注意,这不会在一天的第一秒找到修改的文件,并且如果搜索到/tmp,还会找到文件/tmp/$$-lastsec