Linux下统计你的Erlang程序的行数(SLOC)
来源:互联网 发布:linux安装lamp环境 编辑:程序博客网 时间:2024/05/17 03:03
统计代码行数(SLOC, soure line of code)的几种选择:
1. 使用命令wc -l filename可以统计文件filename的行数,但是不能除去空行和注释。
2. Linux下有个程序叫sloccount,可以统计各种语言的代码行数,但是不支持Erlang -_-!
3. 我的最终解决方案是使用grep。
使用下面的命令即可统计当前目录下Erlang源代码的行数:
grep -cv '/(^%/)/|/(^/s*$/)' *.erl *.hrl
或者
egrep -cv '(^%)|(^/s*$)' *.erl *.hrl
返回的结果类似于:
module1.erl: 120
module2.erl: 38
module2.hrl: 45
参数c表示让grep统计行数
参数v,也就是--invert-match,表示选取不符合正则表达式的行
正则表达式(^%)|(^/s*$)由两个正则表达式的并组成。 正则表达式^%表示注释(Erlang的注释都以%开始),而正则表达式^/s*$表示开头(^)与结尾($)之间只有任意多个空白符(/s)的行,也就是空行。 这样整个正则表达式(^%)|(^/s*$)即表示注释行或者空白行。
GNU的grep和egrep功能相当,区别在于前者使用GNU Basic Regular Expression(BRE),这是目前还在使用的最古老的正则表达式语法,而后者使用的是GNU Extended Regular Expression(ERE)。 两种正则表达式语法的主要区别是前者要求特殊符号前必须有转移字符/,而后者不要求有/,但是当想表示特殊字符的原意的时候必须加/作为前缀。 当正则表达式中有很多特殊符号的时候,ERE的表达就比BRE简洁不少。
关于BRE和ERE可以查看http://www.regular-expressions.info/gnu.html 。
关于grep的正则表达式的语法可以查看http://opengroup.org/onlinepubs/007908775/xsh/regexp.html 。
- Linux下统计你的Erlang程序的行数(SLOC)
- 统计程序的行数
- Linux下统计代码行数的方法
- Linux下统计代码行数的方法
- Linux下统计文本代码行数的方法
- 统计你写的java代码行数
- 统计你写的java代码行数
- 统计你写的java代码行数
- python写的代码行数统计程序
- 一个统计代码行数的程序C#
- Windows 下统计行数的命令
- Windows 下统计行数的命令
- Linux 下wc 统计递归统计目录及其子目录下文件的行数
- linux下统计代码行数
- Linux下统计代码行数
- LINUX下统计代码行数
- linux下统计代码行数
- Linux下统计文件行数
- 结构体对齐(内存对齐)
- 浅析ASP.NET生成随机密码
- 代码结构
- 外语与母语(上)-外语的学习
- javascript 控制 html元素 显示/隐藏
- Linux下统计你的Erlang程序的行数(SLOC)
- Hibernate学习笔记----------------一对一关系
- 个股波段起爆点公式
- Hibernate学习笔记---------------多对多关系
- 日常交际技巧经验总结100句(大全)
- Erlang的Mailbox或者MQ的性能问题
- 万能查询网址,不信试试看!
- UML学习
- VC中基于 Windows 的精确定时