bash 批量调整图片大小
bash batch image resize
如何更改此字符串:
find . -type f -name "*.jpg" | while read i; do convert "$i" -resize 50% "${i%%.jpg*}_tn.jpg"; done
制作 tn_FILENAME.jpg 个文件,而不是 FILENAME_tn.jpg
谢谢!
find . -type f -name "*.jpg" | while read i; do [[ "${i##*/}" =~ ^tn_ ]] || convert "$i" -resize 50% "${i%/*}/tn_${i##*/}"; done
你的意思是这样?
${i%/*}
是删除了最后一个破折号之后的所有内容的文件名(因此文件所在的目录)。
/tn_
将 tn_ 前缀添加到文件中,并且
${i##*/}
删除文件中最后一个破折号之前的所有内容(所以它是文件名)。
将这三个粘贴在一起即可得到结果。
如何更改此字符串:
find . -type f -name "*.jpg" | while read i; do convert "$i" -resize 50% "${i%%.jpg*}_tn.jpg"; done
制作 tn_FILENAME.jpg 个文件,而不是 FILENAME_tn.jpg
谢谢!
find . -type f -name "*.jpg" | while read i; do [[ "${i##*/}" =~ ^tn_ ]] || convert "$i" -resize 50% "${i%/*}/tn_${i##*/}"; done
你的意思是这样?
${i%/*}
是删除了最后一个破折号之后的所有内容的文件名(因此文件所在的目录)。
/tn_
将 tn_ 前缀添加到文件中,并且
${i##*/}
删除文件中最后一个破折号之前的所有内容(所以它是文件名)。
将这三个粘贴在一起即可得到结果。