我有具有以下名称模式的PDF:
ABC12345V1_6789_V0-1_xyz.pdf
ABC12345V4_6789_V3-7_xyz.pdf
重要的部分是V#和V#-#。无论第一个V之后的数字是多少,第二个V之后的数字总是少一个。我想创建一个将上述模式重命名为以下内容的服务:
ABC12345V1_6789_V1_xyz.pdf
ABC12345V4_6789_V4_xyz.pdf
基本上,V#-#部分必须与文件名中的第一个V#相同。文件名中的某处可能还有其他字母Vs。
我发现Mac OS X终端批处理重命名很有用,但我需要将新值分配给要替换的字符串。
您可以使用一个简单的正则表达式来完成此操作:
r=$"V([0-9])_([0-9]*)_V";
for f in *.pdf; do
if [[ $f =~ $r ]]; then
mv "$f" "${f/_*_/_${BASH_REMATCH[2]}_V${BASH_REMATCH[1]}_}";
fi
done
结果:
ABC12345V1_6789_V0-1_xyz.pdf ABC12345V1_6789_V1_xyz.pdf
ABC12345V4_6789_V3-7_xyz.pdf ABC12345V4_6789_V4_xyz.pdf
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句