我试图根据保存在CSV文件中的文件名重命名大量图像。
names.csv
OldImageName,NewImageName
genericFileName1.png,fancyFileName1.png
genericFileName2.png,fancyFileName2.png
genericFileName3.png,fancyFileName3.png
etc..
bash脚本
while read line
do
OldImageName=${line%,*}
NewImageName=${line#*,}
mv "$OldImageName" "$NewImageName"
done < "names.csv"
这种作品。但是,我所有的图像都带有“?”在扩展的末尾,像这样
fancyFileName1.png?
fancyFileName2.png?
fancyFileName3.png?
我试图批量重命名这些文件以消除问号,但这是不可能的,可能是因为我基本上是在更改文件的扩展名,并且需要手动确认每个文件。
此外,该脚本似乎每次运行时都会跳过最后一个图像。这不是什么大问题,因为我可以手动重命名,但是也可以将其包含在脚本中。
如何修复此脚本,以便摆脱那些问号而不会跳过最后一个文件?