批量排序改名
#!/bin/bash
###############################
#@author andrew
#@function 美术资源混乱。写个脚本给动画资源排序取名
###############################
function changeName()
{
##碰到有空格的文件名就无法处理,要先删除空格
ls -1 *.png | xargs -I FL rename " " "" FL
FILES=$(find . -maxdepth 1 -iname "*.png" )
COUNT=0
if [ $# == 2 ]
then
for FL in ${FILES[*]}
do
COUNT=$((COUNT+1))
mv "${FL}" "fish"${1}_${COUNT}${2}".png"
echo "${FL}" "fish"${1}_${COUNT}${2}".png"
done
else
echo "have no root path"
fi
echo "param len $#"
}
OLD_PATH=$(pwd)
ALL_FILES=$(find . -maxdepth 1 -type d)
for PARENT in ${ALL_FILES[*]}
do
P_PATH=${OLD_PATH}/${PARENT}
if [ "${PARENT}" != "." ]
then
###更改根目录下文件名
cd ${P_PATH}
changeName "_a" "_"$(basename ${PARENT})
###更改各个子动画文件名
FOLDERS=$(find . -maxdepth 1 -type d)
for ANIM in ${FOLDERS}
do
if [ "${ANIM}" != "." ]
then
cd ${P_PATH}/${ANIM}
changeName "_"$(basename ${ANIM}) "_"$(basename ${PARENT})
mv *.png ${P_PATH}
cd ${P_PATH}
rm -rf ${ANIM}
cd ${OLD_PATH}
fi
done
fi
done
批量查找文件,以typescript形式列出
##################################
#@funcion: list all files
#@author: andrew
#
##################################
G_ROOT_DIR=$(pwd $(dirname $0) )
WRITE_FILE=${G_ROOT_DIR}/SD_anim.ts
if [ -f "${WRITE_FILE}" ]
then
rm -f ${WRITE_FILE}
fi
echo "let SD_anim:any = {" > $WRITE_FILE
FOLDERS=$(find . -type d )
for FD in ${FOLDERS[*]}
do
DN=$(basename $FD)
if [ "$DN" != "." ]
then
echo $DN": [" >> $WRITE_FILE
F_LIST=$( find $DN -iname "*.png" )
for FL in ${F_LIST[*]}
do
FN=$(basename $FL)
echo " \"$FN\"," >> $WRITE_FILE
done
echo " ]," >> $WRITE_FILE
fi
done
echo "};" >> $WRITE_FILE