iOS 修改类的前缀

修改类的前缀,比如类的前缀原来是XYZ,现在要改成ASD,可以用。

使用

sh file.sh -o 旧的前缀 -n 新的前缀 需要替换的目录

注意事项

  1. 没有针对特别复杂的场景进行测试,使用前记得提交代码、切换分支
  2. 通过文件名进行操作,默认类名和文件名相同,如果在一个文件中定义了多个类,和文件名相同的类名才会被处理,其他的不会替换,同理,category也无法处理
  3. 替换的目录尽可能小
  4. 执行后,先在Xcode中移除对文件夹的引用,再重新添加引用,这一步会更新project.pbxproj
echo 'sh file.sh -o 旧的前缀 -n 新的前缀 需要替换的目录'

while getopts "o:n:" opt; do
  case $opt in
    o)
      oldPrefix=$OPTARG 
      ;;
    n)
      newPrefix=$OPTARG 
      ;;
    \?)
      echo "Invalid option: -$OPTARG" 
      ;;
  esac
done

src=${@: -1}

echo $oldPrefix
echo $newPrefix
echo $src

for file in `find $src -name "${oldPrefix}*"`; do
    
    # 文件名,包含后缀
    fileName=${file##*/}
    
    if [[ ! -d $file ]]; then

        # 文件所在目录
        dir=${file%/*}
        # 新的文件名,包含后缀
        nFilePath=${newPrefix}${fileName#${oldPrefix}}
        # 新文件的完整地址
        nPath=${dir}/${nFilePath}

        # 原文件名,不含后缀
        oFileName=${fileName%.*}

        # 新文件名,不含后缀
        nFileName=${newPrefix}${oFileName#${oldPrefix}}

        # 文本替换
        LC_ALL=C sed -i "" "s/$oFileName/$nFileName/g" `grep $oFileName -rl $src`
        # 重命名文件
        mv -v $file $nPath
    fi
done

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 10,021评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,322评论 0 10
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,995评论 0 9
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 10,021评论 0 16
  • “好书推荐 《十年一瓶温如言》 知道《十年》的大部分人可能是因为有要被拍成电视剧的缘故,那我今天就来给大家讲一下长...
    唐澄心阅读 7,683评论 0 3

友情链接更多精彩内容