0

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

我需要不是来自单个目录的所有文件。

提前致谢。

4

3 回答 3

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

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

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

于 2012-11-15T21:03:55.910 回答
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搜索到,则会额外找到该文件。

于 2014-04-09T12:45:07.030 回答
0

您应该能够使用find文件搜索工具,尤其是它的-mtime-newer选项。

于 2012-08-13T18:26:48.983 回答