我正在尝试调整大小并重命名数百个图像子目录。我需要更改的文件:
实施例: 图像/ ** / A6919994719A@2x.jpg
我在一个目录中调整了大小调整位。我找不到重命名文件末尾的方法,而不是扩展名,并通过子目录执行它。
任何帮助都将不胜感激。
#!/bin/bash
for i in $( ls *A.jpg); do convert -resize 400x400 $i
答案 0 :(得分:2)
你可以这样做:
#!/bin/bash
find . -name "*A.jpg" | while read f
do
newname=${f/A.jpg/A@2.jpg}
echo convert "$f" -resize 400x400 "$newname"
done
如果它看起来正确,请删除单词echo
,并仅对您备份的文件运行。
如果你真的想:
,你也可以在一行中完成find . -name "*A.jpg" -exec bash -c 'old="$0";new=${old/A.jpg/A@2.jpg};echo convert "$old" -resize 400x400 "$new"' {} \;