1,给png图片加上后缀@3x
#!/bin/sh #root_src=$(dirname $(PWD)) #echo ${root_src} image_path=${root_src}/imagesecho ${image_path} # find ${image_path} -name *.png -exec echo {} \; # find ${image_path} -name *.png -o -name *.jpg -print # find ${image_path} -path '*/Assets.xcassets*' -prune -o -name *.png # find ${image_path} -path '*/Assets.xcassets*' -prune -o \( -name *.png -o -name *.jpg \) -print pngfiles=`find ${image_path} -name *.png ` suffix2x='@3x.png' suffix3x='@2x.png' for file in $pngfiles do if [[ ${file} =~ ${suffix2x} || ${file} =~ ${suffix3x} ]] then echo "${file}不变" else echo "${file}需要添加@3x" mv ${file} "${file%.png}@3x.png" fi done
2,进化版:查找当前目录下除Assets.xcssets,给所有无后缀的jpg或者png添加后缀为@3x。
根据需求不同,可以酌情更改Find命令等
#!/bin/sh image_path=`pwd` echo ${image_path} # find ${image_path} -name *.png -exec echo {} \; # find ${image_path} -name *.png -o -name *.jpg -print #寻找png或者jpg # find ${image_path} -path '*/Assets.xcassets*' -prune -o -name *.png #查找目录下除Assets.xcassets以外的目录 #查找除去Assets.xcassets以外的${image_path}目录下,结尾为png或者jpg的图片 # find ${image_path} -path '*/Assets.xcassets*' -prune -o \( -name *.png -o -name *.jpg \) -print pngfiles=`find ${image_path} -path '*/Assets.xcassets*' -prune -o \( -name *.png -o -name *.jpg \) ` suffix2x='@3x.png' suffix3x='@2x.png' for file in $pngfiles do if [[ ${file} =~ ${suffix2x} || ${file} =~ ${suffix3x} ]] then echo "${file}不变" else if [[ ${file} =~ '.png' ]]; then echo "PNG图片${file}需要添加@3x" mv ${file} "${file%.png}@3x.png" fi if [[ ${file} =~ '.jpg' ]]; then echo "jpg图片${file}需要添加@3x" mv ${file} "${file%.jpg}@3x.jpg" fi fi done
更多
1,shell脚本