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
- 实例展示
-
转换前工程目录状况和函数定义
-
解析所有函数
-
执行转换,再次查看函数定义