我无法“查找”来定位旧文件。我将我的发现链接到一个语句中,并且所有其他部分都运行良好。这是我所拥有的精简版。它搜索 $path 的目录树并为找到的每个项目创建仅包含换行符的单独临时文件:所有文件、365 天前更改的文件以及所有目录。文件和目录工作正常(以及我在这里没有包括的其他 6 个链式搜索),但是 ctime 返回 0 个命中,我知道我正在使用的目录中有匹配的文件。
find $path \
\( -type f -fprintf /tmp/files.txt "\n" \) , \
\( -type f -ctime +365 -fprintf /tmp/oldfiles.txt "\n" \) , \
\( -type d -fprintf /tmp/dirs.txt "\n" \)
这似乎与 find 的手册页一致。它说 -ctime n 查找更改时间为 n 天的文件。+ 给出 >n 天,- 给出 <n 天,没有符号正好给出 n 天。尽管看起来一切正常,但我的临时文件仍然出现 0 行。有什么想法吗?另外值得注意的是,为了节省处理时间,我需要在一次遍历文件系统时找到这些文件。