在 Linux 中根据修改日期复制文件

新手上路,请多包涵

我想将最近三个月的文件从一个目录复制到另一个目录,但我只能找到使用以下命令列出的文件。

 find . -mtime -90 -ls

如何使用 -mtime 复制文件?

原文由 Kalaiyarasan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

对 --- 使用 --- find -exec 选项:

 find . -mtime -90 -exec cp {} targetdir \;

-exec 会将 find 返回的每个结果复制到指定目录(在上例中为 targetdir )。

原文由 devnull 发布,翻译遵循 CC BY-SA 3.0 许可协议

除了返回特定天数之外,还可以选择确切的日期和时间:

 cp  `find . -type f -newermt '18 sep 2016 20:05:00'` FOLDER

以上将2016年9月18日20:05:00之后创建的目录中的所有文件复制到 FOLDER (今天前三个月:)

请注意 find 命令的符号。 不是 这个:’

就是这个,一个反引号:`

日期选择是这样的:’

如果您的文件名称中包含空格、换行符、制表符或通配符,您可以使用 Stéphane Chazelas 的任一解决方案。第一个用于 GNU,第二个用于 GNU 或某些 BSD

 find . -type f -newermt '18 sep 2016 20:05:00' -exec cp -t FOLDER {} +
find . -type f -newermt '18 sep 2016 20:05:00' -exec sh -c 'cp "$@" FOLDER' sh {} +

原文由 FatihSarigol 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题