您的位置:首页 > 运维架构 > Shell

【shell脚本】匹配函数的正则表达式

2012-09-17 23:51 633 查看
自己写了一个统计代码中的函数以及函数个数的正则表达式:

grep '(' filename.c | grep ')' | grep -v ';' | grep '^[a-z]|[A-Z]'


原理:

1.分析函数的语法特点:

函数实现部分的代码,所在行没有分号,因此,使用grep -v ';'过滤掉有分号的行;

函数实现部分可能有返回值声明,因此,使用grep'^[a-z]|[A-Z]',获取以字母开头的行;

函数实现部分肯定有括号,因此使用grep'(' filename.c | grep')'

缺点:

1.不能匹配以空白字符开头的函数实现;

2.不能匹配形参不在同一样的函数实现;

总结:

正则表达式是针对某种书写格式或者规律进行匹配的方法,它采用的是穷举法,因此只能尽量地去覆盖到所有的书写格式或规律,但是不能保证覆盖到全部,故我们应该根据我们目标格式去书写正则表达式,不必太过于追求完美,只要能达到目标就行^_^

参考文献:

[1].鸟哥的Linux私房菜-基础篇关于shell脚本的介绍,http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐