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