【问题标题】:In linux shell, How to cp/rm files by time?在 linux shell 中,如何按时间 cp/rm 文件?
【发布时间】:2012-07-25 23:03:08
【问题描述】:

在 linux shell 中,当我运行时

ls -al -t

显示文件的时间。

如何按时间 cp/rm 文件?就像复制今天或昨天创建的所有文件一样。非常感谢。

【问题讨论】:

  • 看看这个stackoverflow.com/q/11448885/1007273应该会有帮助
  • @herbertD :注意ls 显示的时间是修改时间,而不是创建时间。查看find 命令,尤其是选项-mtime-newer

标签: linux shell time cp rm


【解决方案1】:

根据您实际想要做的事情,find 提供-[acm]time 选项,用于按访问、创建或修改日期查找文件,以及-newer-min。您可以将它们与-exec 结合起来进行复制、删除或任何您想做的事情。例如:

find -maxdepth 1 -mtime +1 -type f -exec cp '{}' backup \;

会将当前目录中超过 1 天的所有常规文件复制到目录backup(假设目录backup 存在)。

【讨论】:

    【解决方案2】:

    简单示例

    find /path/to/folder/ -mtime 1 -exec rm {} \; // Deletes all Files modified yesterday
    

    更多例子,谷歌 bash 查找时间or take a look here

    【讨论】:

    • 谢谢!我使用 find * -mtime 0 来获取今天的文件。
    猜你喜欢
    • 2018-09-03
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2012-11-14
    • 2018-05-15
    • 2017-03-16
    相关资源
    最近更新 更多