我想将最近创建/更新的文件复制到另一个文件夹。比如说,例如,应该将过去3天内创建的文件复制到另一个文件夹(/ tmp)。怎么做?是否可能。
答案 0 :(得分:1)
您可以使用find命令的mtime
参数查找在特定时间内上次修改过的文件,然后使用它的exec
参数进行复制他们在某个地方。
例如,此命令将在当前目录中查找三天内修改的文件,并将其复制到/tmp
目录:
find . -mtime -3 -type f -exec cp "{}" /tmp \;
-mtime n文件的数据上次修改时间为n * 24小时前。请参阅-atime的注释,以了解舍入如何影响 解释文件修改时间。
-exec命令;执行命令;如果返回0状态,则返回true。以下所有要查找的参数都被视为该命令的参数 直到由&#39 ;;'组成的论点遇到了。字符串' {}'是 由当前正在处理的文件名替换 在命令的参数中,而不仅仅是在参数中 单独,如某些版本的查找。这两种结构都可能 需要进行转义(使用' \')或引用以保护它们免受攻击 由shell扩展。有关示例,请参见“示例”部分 使用-exec选项。为每个命令运行一次指定的命令 匹配的文件。该命令在起始目录中执行。那里 围绕使用-exec动作是不可避免的安全问题; 你应该使用-execdir选项。