Ubuntu 18.04如何移动创建/修改时间不足25分钟的文件到指定目录
Ubuntu 18.04 按时间筛选文件移动操作命令
执行前请先将命令里的/path/to/dir1、/path/to/dir2替换为你本地实际的目录绝对路径。
- 首先创建目标目录,若目录已存在也不会抛出报错:
mkdir -p /path/to/dir2 - (可选)先执行预览命令,打印所有符合匹配规则的文件列表,确认无误后再做移动操作,避免误删误移:
find /path/to/dir1 -maxdepth 1 -type f \( -mmin -25 -o -newerBt "25 minutes ago" \) -print - 确认匹配结果符合预期后,执行移动命令,将修改时间或创建时间距当前不足25分钟的普通文件移动到dir2:
find /path/to/dir1 -maxdepth 1 -type f \( -mmin -25 -o -newerBt "25 minutes ago" \) -exec mv -t /path/to/dir2/ {} +
参数说明
-maxdepth 1:仅处理dir1根目录下的文件,不递归遍历子目录内容;如果需要递归处理所有子目录内的符合条件文件,直接删除该参数即可-type f:仅匹配普通文件,不会选中目录、软链接、设备文件等特殊类型文件-mmin -25:匹配最后修改时间距当前不足25分钟的文件-newerBt "25 minutes ago":匹配文件创建(诞生)时间距当前不足25分钟的文件,该参数仅对ext4、XFS等支持读取创建时间的Linux原生文件系统生效-exec mv -t /path/to/dir2/ {} +:将匹配到的文件批量移动到目标目录,相比逐个调用mv的执行效率更高
如果你使用的是FAT32这类不支持读取文件创建时间的非原生文件系统,可以移除创建时间匹配规则,仅按修改时间筛选,对应命令如下:
find /path/to/dir1 -maxdepth 1 -type f -mmin -25 -exec mv -t /path/to/dir2/ {} +
内容的提问来源于stack exchange,提问作者dante alighieri
相关产品推荐
相关产品推荐

