linux下统计代码行数

wc工具

wc是Linux的一个统计工具,可以统计文件的行数、词数和字节数。

1
2
3
4
5
6
7
Usage: wc [OPTION]... [FILE]...
-c, --bytes, --chars print the byte counts
-l, --lines print the newline counts
-L, --max-line-length print the length of the longest line
-w, --words print the word counts
--help display this help and exit
--version output version information and exit

代码行数统计

当前目录下的c++文件数量

1
find . -name "*.cpp" -o -name "*.h" | wc -l

当前目录下的c++代码行数

1
find . -name "*.cpp" -o -name "*.h" | xargs cat | wc -l

当前目录下的c++代码行数,除去空白行和注释行

1
find . -name "*.cpp" -o -name "*.h" | xargs cat | grep -Ev "^\s+$" | grep -Ev "^\s*//" | wc -l

正则元字符备注

  • ^ 匹配头
  • $ 匹配尾
  • \s 所有的空白符,包括空格、制表符、回车换行
  • + 匹配前面的子表达式一次或多次
  • * 匹配前面的子表达式零次或多次
  • . 匹配任意单个字符