如何仅修改图片Exif日期中的年份?求Linux Bash命令
修改图片Exif年份(保留月日时间)的Linux Bash命令
首先确保你安装了exiftool——这是处理Exif信息最常用的工具,Debian/Ubuntu系可以用sudo apt install exiftool安装,RHEL/CentOS系用sudo dnf install exiftool。
单张图片修改
假设你要把图片的拍摄年份从2020改成2023,同时保留原有的月、日、时、分、秒,用这条命令:
exiftool "-DateTimeOriginal<${DateTimeOriginal;s/2020/2023/}" image.jpg
- 这里
DateTimeOriginal是Exif里记录拍摄时间的核心标签,用Perl替换语法s/旧年份/新年份/只替换年份部分,其他时间信息完全保留。 - 默认情况下,exiftool会生成原文件的副本(后缀加
_original),如果想直接覆盖原文件,加上-overwrite_original参数:exiftool -overwrite_original "-DateTimeOriginal<${DateTimeOriginal;s/2020/2023/}" image.jpg
批量修改图片
如果要处理当前目录下所有JPG图片,把命令里的文件名换成通配符即可:
exiftool "-DateTimeOriginal<${DateTimeOriginal;s/2020/2023/}" *.jpg
同步修改多个时间标签
有些图片的CreateDate(文件创建时间)、ModifyDate(文件修改时间)也需要同步改年份,直接把多个标签规则写在一起:
exiftool "-DateTimeOriginal<${DateTimeOriginal;s/2020/2023/}" "-CreateDate<${CreateDate;s/2020/2023/}" "-ModifyDate<${ModifyDate;s/2020/2023/}" image.jpg
验证修改结果
改完后可以用这条命令查看关键时间标签,确认年份已修改、其他时间信息没变:
exiftool -DateTimeOriginal -CreateDate -ModifyDate image.jpg
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

