Linux 嵌入参数替换
这是一个接一个的参数替换(将图片文件名转换为日期): 我想一次完成这项工作,类似这样exiftool就可以完成:Linux 嵌入参数替换,linux,variable-substitution,Linux,Variable Substitution,这是一个接一个的参数替换(将图片文件名转换为日期): 我想一次完成这项工作,类似这样exiftool就可以完成: dt=“${var:0:11} ${${var:11:8}//-/:}” 你不能像那样嵌套扩展操作符。但是您可以使用较小的子字符串来获得所需的结果 dt="${var:0:11} ${var:11:2}:${var:14:2}:${17:2}" 谢谢你的回答 最后,我只想澄清一下,因为我需要ExifTool使用的日期时间,所以我不需要做任何之前的Linux变量
dt=“${var:0:11} ${${var:11:8}//-/:}”
你不能像那样嵌套扩展操作符。但是您可以使用较小的子字符串来获得所需的结果
dt="${var:0:11} ${var:11:2}:${var:14:2}:${17:2}"
谢谢你的回答 最后,我只想澄清一下,因为我需要ExifTool使用的日期时间,所以我不需要做任何之前的Linux变量替换,因为ExifTool可以通过使用-d选项指定文件名中使用的日期时间格式来提取它。这就是我最后做的。请注意,我甚至不必删除ExifTool的结尾CX.mov字符即可获得正确的日期时间:
exiftool -d '%Y-%m-%d $H-%M-%S' \
'-DateTimeOriginal<${FileName}' \
'-CreateDate<${FileName}' \
'-MediaCreateDate<${FileName}' "${file}"
exiftool-d'%Y-%m-%d$H-%m-%S'\
'-DateTimeOriginald在编写代码时不要使用“智能引号”。
exiftool -d '%Y-%m-%d $H-%M-%S' \
'-DateTimeOriginal<${FileName}' \
'-CreateDate<${FileName}' \
'-MediaCreateDate<${FileName}' "${file}"