Linux Tips: 批量修改C语言工程的函数命名风格(纯Shell方法)

  • 通过ctags解析工程目录中所有函数
# 遍历所有C文件并将解析出的函数名放在funcs文件中
find ./ -name "*.[ch]" -exec ctags -x --c-types=f {} \; | awk '{print $1}' >> funcs
  • 通过sed进行函数命名风格转换,并替换所有C文件
# 遍历前面生成的funcs文件,转换、替换
while read func
> do
> new_func=`echo $func | sed 's/_\(.\)/\u\1/g'`
> find ./ -name "*.[ch]" -exec sed -i "s/$func/$new_func/g" {} \;
> done < funcs
  • 实例展示
  1. 转换前工程目录状况和函数定义
    Linux Tips: 批量修改C语言工程的函数命名风格(纯Shell方法)

  2. 解析所有函数
    Linux Tips: 批量修改C语言工程的函数命名风格(纯Shell方法)

  3. 执行转换,再次查看函数定义
    Linux Tips: 批量修改C语言工程的函数命名风格(纯Shell方法)

上一篇:shell全


下一篇:shell/linux的sed跨行匹配