从特定日期开始对不同文件夹中的多个文件进行 mv

从特定日期开始对不同文件夹中的多个文件进行 mv

我有 3 个文件夹f1f2并且f3.

如何使用一个命令将f1日期f2从 2016 年 6 月 22 日到 2018 年 9 月 21 日的每个文件移至该文件夹?f3mv

答案1

既然你已经标记了我将假设 GNU 工具

find f1 f2 -maxdepth 1 -type f -newermt 2016-06-22 ! -newermt 2018-09-21 -exec echo mv -t f3 {} +

我的日期可能每边都有 ±1 天的误差 - 请检查并相应调整。当您高兴地看到该mv命令已收到正确的文件时,请删除echo前缀。

答案2

zsh

autoload age
mv (f1|f2)/*(.e[age 2016-06-22 2018-09-21]) f3/

(请注意,它匹配.上次修改的文件(仅带有 glob 限定符的常规文件)开始那2天。如果您还想移动 2018 年 9 月 21 日任意时间修改的文件,则需要将第二个日期更改为 2018 年 9 月 22 日。

相关内容