如何查找在整个HP Unix服务器中特定日期修改的文件列表

时间:2012-08-13 11:36:48

标签: unix

我需要在HP Unix服务器的特定日期修改过的文件列表。

我需要所有文件不在一个目录中。

提前致谢。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

您应该能够使用find文件搜索工具,更具体地说是-mtime-newer选项。

答案 2 :(得分: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

我们使用参数date(与touch一样)和路径名(/为整个目录树)调用此脚本。请注意,这不会在当天的前一天中找到修改的文件,如果搜索到/tmp/$$-lastsec,则会另外找到文件/tmp