find-command:用创建时间搜索

Léo*_* 준영 3 unix datetime find

如何找到“Jul 30 04:37”创建的内容并将它们移动到/tmp?有问题:

find .  -ctime "0037043007" -exec mv {} /tmp +
Run Code Online (Sandbox Code Playgroud)

Jon*_*ler 5

请参阅 GNU查找手册(以及时间输入格式信息)。

特别是,该-newerct '30-Jul-2009 04:37'选项似乎可以满足您的大部分需求。

唯一的障碍是手册页暗示它适用于严格比给定时间更新的文件。这表明您需要使用绝对时间:

1248957000 = 2009-07-30 05:30:00  (TZ = US/Pacific = UTC-07:00)

-newerct @1248957000
Run Code Online (Sandbox Code Playgroud)

这仍然留下了如何处理严格大于语义的问题。

-newerct @1248956999 -a ! -newerct @1248957001
Run Code Online (Sandbox Code Playgroud)

这有效,但毫无疑问是混乱的(并假设您有工具可以从日期/时间值中获取 Unix 时间戳)。

你需要一个足够新的版本find才能工作(GNU findutils 4.4.2 是最新的)。