如何找到创建的内容“7月30日04:37”并将它们移动到/ tmp?出了点问题:

find .  -ctime "0037043007" -exec mv {} /tmp +
有帮助吗?

解决方案

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

特别是, -newerct '30 -Jul-2009 04:37'选项似乎可以完成您想要的大部分工作。

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

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

-newerct @1248957000

这仍然存在如何处理严格大于语义的问题。

-newerct @1248956999 -a ! -newerct @1248957001

这有效,但无可争议地是凌乱的(假设您有从日期/时间值获取Unix时间戳的工具)。

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

其他提示

for file in $(ls -lR | grep "Jul 14" | awk '{print $9}')
do
mv $file /tmp
done

我不确定您为何使用“ exec {} + ”语法......怎么样:

find . -ctime "0037043007" -exec mv \{} /tmp/ \;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top