如何修改find命令获取指定日期后新增文件的MD5校验值并导出?
命令修改方案
你原有的命令是遍历当前路径下所有普通文件生成MD5校验值,要筛选指定日期后新增的文件,只需给find命令添加时间过滤参数即可。
- 针对你要筛选2021年8月28日及之后文件的需求,优先使用
-newermt参数,这是find自带的支持直接传入参考日期的参数,修改后完整命令如下:find -type f -newermt "2021-08-28" -exec md5sum "{}" + > checklist.txt - 老版本系统兼容方案:如果你的运行环境不支持
-newermt参数,可以通过临时参考文件实现时间筛选,操作步骤如下:
- 生成对应参考时间的临时文件:
touch -d "2021-08-28 00:00:00" /tmp/time_reference - 按参考文件时间筛选文件并生成MD5清单:
find -type f -newer /tmp/time_reference -exec md5sum "{}" + > checklist.txt - 可选操作:删除临时参考文件:
rm /tmp/time_reference
补充说明:上述命令默认按文件修改时间筛选,如果你需要严格匹配文件的创建时间,且你使用的文件系统(如ext4、XFS、NTFS等)支持存储创建时间,可以把命令中的
-newermt替换为-newerct,即可按创建时间筛选符合要求的文件。
内容的提问来源于stack exchange,提问作者meanjoep92
相关产品推荐
相关产品推荐

