Shell命令实现代码行数统计

find ./ -regextype posix-extended -regex ".*.(conf|md|go)" -type f | xargs cat | grep -v $^ | wc -l

解释

find ./ -regextype posix-extended -regex ".*.(conf|md|go)" -type f 

在当前目录下查找以.conf,.md,.go为后缀的文件。


xargs cat

查看这些文件的内容


grep -v $^

去除空行


wc -l

计算行数

可能遇到的问题

  • 空格问题

如果代码文件名中有空格(一般貌似不会这样,但是其它类型的文件可能会存在这样的情况),需要特别处理。参见:Shell中处理带空格的文件名