今天需要把图片批量转化下格式,想着写个shell搞下吧,自己已经忘干净了,百度下吧。果然你的问题大家都处理过。
···
for file in .png
do convert {file%%.}.jpg
done
也可以直接写到一行
for file in .png; do convert {file%%.}.jpg; done
···
代码查到了,也解决问题了,但这两个%%啥意思,没看懂。。。继续查吧
Shell中单百分号%和双百分号%%的作用
使用百分号将变量的内容从变量的后面删除,并从变量的尾部删除。
不同的是,一个%号表示从尾部最近的匹配删除,两个%%从尾部最远的匹配删除。同时支持使用通配符。
比如:
先声明一个变量:
filename=aaabbccddaabbccdd
使用一个百分号截取尾部bb*
echo "${filename%bb*}"
结果:
aaabbccddaa
可以看到是截取了最后面的bbccdd。
使用两个百分号截取尾部bb*
echo "${filename%%bb*}"
结果:
aaa
可以看到是截取的最前面的匹配的到的bb。
此段示例直接照搬https://blog.csdn.net/qq_34988540/article/details/102523619