Mat*_*cki 3 macos bash exif unix-timestamp
昨天我拍了很多照片,但我忘记更改相机中的时区。现在所有图片的修改日期都有错误。
我想将特定目录中所有文件的修改日期更改为minus 10 hours.
#!/bin/sh
for i in /Users/slick/Desktop/100D5200/*; do
touch -r "$i" -d '-10 hour' "$i"
done
Run Code Online (Sandbox Code Playgroud)
当我在 OSX 中运行这个脚本时,我得到
touch:非法选项 --d 用法:touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file 。 ..
我究竟做错了什么?
您正在使用 GNU 的选项touch。您可以在 OS X 中使用Homebrew在 OS X 中安装它:
$ brew install coreutils
Run Code Online (Sandbox Code Playgroud)
然后它将在名称下可用,gtouch而不是touch:
#!/bin/sh
for i in /Users/slick/Desktop/100D5200/*; do
gtouch -r "$i" -d '-10 hour' "$i"
done
Run Code Online (Sandbox Code Playgroud)
但是,-d '10 hour'不会将时间戳向后移动十个小时,而是将时间戳设置为当前时间减去十个小时。如果您想偏移时间戳,则必须对每个文件进行算术。
此外,您真正想要的可能是更改图片的 EXIF 数据,这需要另一个工具touch。
| 归档时间: |
|
| 查看次数: |
2547 次 |
| 最近记录: |