SSH查找从特定日期开始修改的文件

3

我想查找某一天的修改文件。我一直在使用find . -mtime -2,但我需要查找更久之前的,例如上周四和仅限于周四。

我不太懂Unix命令,希望得到帮助。

谢谢。


如果你愿意关闭,但是据我上次检查,为那些不懂但试图学习编程语言UNIX的人提供建议是非常有帮助的。下面的答案完全帮助了我发现新的命令,否则我可能永远都找不到。感谢@shiplu.mokadd.im的指导,顺便说一句,这个答案的声望比你们六个关闭者加起来还要高...他认为这是一个相关的话题。 - SuperNinja
1个回答

6

如果您想查找上周四之后修改过的文件,请使用以下命令

find . -newermt 'last Thursday'

在上周四之前
find . -type f \
    -not \
    -newermt "2012-12-13 00:00:00" 

仅限周四。
find . -type f \
    -newermt "2012-12-13 00:00:00" 
    -not \
    -newermt "2012-12-14 00:00:00" 

上个星期四是2012-12-13。如果你要搜索任何修改日期在上周四之前的文件,在find命令中应该使用-not newermt '2012-12-13'。如果你只想搜索在这个星期四修改的文件,那么它们的修改日期应该比星期三早但比星期四晚。当然,如果你愿意,可以省略00:00:00部分。
注意:POSIX find没有-newerXY选项,只有-newer。要将-newermt "2012-12-13 00:00:00"转换成命令,请使用此命令。
touch -d "2012-12-13 00:00:00" pointA

find . -type f \
        -not \
        -newer pointA

非常感谢,这会返回修改后的文件吗? - SuperNinja
是的。修改过的文件列表。 - Shiplu Mokaddim
这是有用的符号表示法,但不是POSIX。大概这是GNU find的一个版本? - Jonathan Leffler
@JonathanLeffler 感谢您提出这个问题。我已经添加了一个符合POSIX标准的命令。事实上,我不应该忽略 [tag:unix] 标签。 - Shiplu Mokaddim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接