自动处理2倍图和3倍图以适用于flutter
#! /bin/bash
#用于修改图片名称及移动文件夹以适用于flutter
#用法举例,终端跑如下命令:脚本路径 图片文件夹路径
#/Users/sunfly/Desktop/changeName.sh /Users/sunfly/Documents/smart_life_app/images
function read_dir(){
for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令
do
if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错
then
if [[ $file == "2.0x" ]] || [[ $file == "3.0x" ]]
then
echo "2.0x或者3.0x文件夹"
else
read_dir $1"/"$file
fi
else
if [[ $file == *@2x* ]]
then
#2倍图处理
if [ -f $1"/"${file/@2x/} ]
then
if [ ! -d $1"/2.0x" ]
then
#不存在2.0x文件夹则创建
mkdir $1"/2.0x"
fi
#存在一倍图,将二倍图放到2.0x文件夹
mv $1"/"$file $1"/2.0x/"${file/@2x/}
else
#不存在一倍图,将二倍图改为一倍图用
mv $1"/"$file $1"/"${file/@2x/}
fi
# echo "2x = "$file
else
#3倍图
if [[ $file == *@3x* ]]
then
echo "3x = "$file
if [ -f $1"/"${file/@3x/} ] || [ -f $1"/"${file/@3x/@2x} ]
then
#存在一倍图或者二倍图
if [ ! -d $1"/3.0x" ]
then
#不存在2.0x文件夹则创建
mkdir $1"/3.0x"
fi
#存在一倍图或者二倍图,将三倍图放到3.0x文件夹
mv $1"/"$file $1"/3.0x/"${file/@3x/}
else
#不存在一倍图或者二倍图,将三倍图改为一倍图用
mv $1"/"$file $1"/"${file/@3x/}
fi
fi
fi
# if [ ${file##*.} = 'png' ]
# then
# #在此处处理文件即可
# subStr="@*x"
# echo ${file/@2x/}
# # cp $1"/"$file "/Users/sunfly/Desktop/image/"$file
# fi
fi
done
}
#读取第一个参数
read_dir $1
网友评论