如何在搜索文件名模板中转义特殊字符@
?
此代码无效(空结果)
for file in *_@2.png; do echo "$file"; done
也尝试了这个:
for i in *_@2.png; do mv "$i" "${i/_@2.png}"@2x.png; done
我需要将文件*_@2.png
重命名为*@2x.png
答案 0 :(得分:0)
检查文件是否存在
for file in *_@2.png; do
[[ -e $file ]] || continue # to skip file which not exists
...
done
使用shell选项。
如果未在glob匹配时未设置failglob选项,则glob *_@2.png
将扩展为自身
shopt globfail # to check value
shopt -s globfail # to turn on
shopt -u globfail # to turn off
答案 1 :(得分:0)
解决
for i in *.png; do mv "$i" "${i/_@2.png/@2x.png}" ; done