Description
实现重命名,包含文件名,类
发现重命名内容有异常,人工手动处理
Warning
在sed
中配置需要的修改点,主要对应的h和m等,static在.h会冲突
宏定义
static
const
extern
写死的字符串
Usage
sh文件和需要重命名的文件夹同一层
sh rename.sh AFNetworking
Check
检验:用自己修改的前缀,人工搜索一个一个组件对应的文件
1. 链接
2. 系统宏定义
3. encode/decode编码
Source Code
#bin/bash
alias sed="/usr/bin/sed"
#修改文件名,参数文件夹名称
#参数 $1:匹配的前缀(AFN),$2:替换的前缀(WLAFN)
function doRenameFile() {
prefix=$1
replace_prefix=$2
echo "prefix is $prefix, replace_prefix is $replace_prefix"
fileNames=`find . -name "*$prefix*" -type f` #"*$prefix*.[h|m]"
for fileName in $fileNames; do
newName=${fileName/$prefix/$replace_prefix}
mv $fileName $newName
echo $newName
done
}
#执行改文件名
#参数 $1:目录
function renameFile() {
basePath=`pwd`
cd $1
doRenameFile "AF" "WLAF"
cd $basePath
}
#重命名内容
#参数 $1:匹配的前缀(AFN)
function doRenameContent {
prefix=$1
fileNames=`find . -name "*$prefix*" -type f` #"*$prefix*.[h|m]"
for fileName in $fileNames; do
fn=$fileName
echo "rename content file $fn"
if [ -f $fn ]; then
sed -i "" "s/AF*/WLAF/g" $fn #改类名、方法名
sed -i "" "s/com.alamofire*/wl.com.alamofire/g" $fn #改常量内容
sed -i "" "s/af_*/wl_af_/g" $fn #改方发、属性名
fi
done
}
function renameContent {
basePath=`pwd`
cd $1
doRenameContent "AF"
cd $basePath
}
renameFile $1
renameContent $1
##########################################
#调用,参数文件夹路径
#sh rename.sh AFNetworking
##########################################