一行命令实现代码行数统计
    1. 基本版
find . -name "*.cpp"|xargs wc -l|grep "total"|awk '{print $1}'
find . -name "*.cpp"|xargs cat|wc -l   
    2. 去空行版
find . -name "*.java"|xargs cat|grep -v ^$|wc -l

上面的^$是正则表达式,^是以匹配开头,$是匹配结尾,所以^$是匹配一个空行。

    3. 去注释版
find . -name "*.java"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l

上面的^\s*\/\/.*$是正则表达式,其中^\s*表明以空格(多个)开头,\/\/表明是//开头的注释,“.*$”表明可能以“.”结尾

    去注释版只是去掉以//开头的注释,对于以/*  */包含的注释并没有去掉。
     上面是只识别.cpp文件,如果想一次统计多种类型的文件,怎么办呢:
     4.  统计本文件夹下.h,.cpp,.sh三种类型的文件代码行数
    方式一:     
 find -name "*[.h|.cpp|.sh]" -type f | xargs cat | wc -l

方式二:

find -name "*[.h|.cpp|.sh]" -type f -exec cat {} \; | wc -l

方式三:

find -regex ".*\.h\|.*\.cpp\|.*\.sh" | xargs cat |wc -l
    其实上面三种方法的区别就是find到所有的目标文件的方法,还有下面两种方法可以找到想要的结果。
    方法四:
find -name "*[.h|.cpp|.sh]" ! -name "."

上面!号前半部分找出会包含"."这个目录,用"!"排除这个目录,当然了,这个和上面方式一,二中的-type f是相近似的方法,-type f是指定目标类型为文件。

    方法五:最笨的方法:
find -name "*.h" -o -name "*.sh" -o -name "*.cpp"
    此外,如果当前目录下包含子目录,则一并会被find出来,如果不想find子目录,则可以用-maxdepth选项:     
find -maxdepth 1 -name "*[.h|.cpp|.sh]" -type f

一行shell命令实现代码行数统计相关推荐

  1. phpstorm统计程序行数_Python 实现代码行数统计

    快来算一算你写了多少行代码 前面我们一直在介绍图形界面,这次换个口味,在命令行实现代码行数统计程序.本程序共 135 行,其中 18 行空行.110 行有效代码.7行注释,大小为 7.71 KB. 主 ...

  2. python 代码行数统计工具_使用Python设计一个代码统计工具

    问题 设计一个程序,用于统计一个项目中的代码行数,包括文件个数,代码行数,注释行数,空行行数.尽量设计灵活一点可以通过输入不同参数来统计不同语言的项目,例如: # type用于指定文件类型 pytho ...

  3. Svn的代码行数统计工具statsvn以及使用

    Svn代码行数统计 代码工具svnstat svnstat.jar的下载路径 使用方法 将下载好的jar文件放于本地svn版本库的根目录下,即.svn文件夹的同级目录下. 新增文本文件,内容为 svn ...

  4. 字符串处理算法(五)多线程实现代码行数统计。[风林火山]

    实现如下: //文件类型 enum E_FILETYPE {E_C,E_JAVA };//文件行数信息 struct T_CodeFileMsg {int nTaskId; //任务Idstring ...

  5. Visual studio代码行数统计

    Visual studio代码行数统计 Visual Studio中的搜索功能支持正则表达式(虽然语法比较诡异),我们完全可以通过正则表达式来遍历整个解决方案从而获得代码行数. ^:b*[^:b#/] ...

  6. python显示代码行数_python实现的代码行数统计代码

    python实现的代码行数统计代码 ''' Author: liupengfei Function: count lines of code in a folder iteratively Shell ...

  7. python代码行数统计工具_Python实现代码行数统计工具的功能(实例)

    本篇文章给大家带来的内容是关于Python实现代码行数统计工具的功能(实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们经常想要统计项目的代码行数,但是如果想统计功能比较完善 ...

  8. 程序员年终总结----git合入代码行数统计

    git代码行数统计 //git上所有合入代码统计 git log --author="author" --pretty=tformat: --numstat | gawk '{ a ...

  9. SVN 代码行数统计

    一.SVN代码行数统计需要下载必须的jar,statsvn.jar 官网地址:StatSVN - Repository Statistics - Downloads statsvn v0.7.0 版本 ...

最新文章

  1. Java实现斐波那契数列Fibonacci
  2. android 锁屏解决方案,Android 实现锁屏的较完美方案
  3. [idea] - 项目启动报错Process finished with exit code 1
  4. 蚂蚁金服隗华:十五年时间见证分布式数据库的崛起
  5. 数据洞察 | Python解读地摊——你想好摆摊去卖什么了吗?
  6. 表格数据画图神器-pandas画图操作
  7. 【ElasticSearch】Es 源码之 CcrRestoreSourceService 源码解读
  8. Zabbix官方文件Zabbix图形树
  9. redis smembersmap_Redis五种数据类型
  10. 史上最全的vim快捷键
  11. 源中瑞区块链baas服务平台搭建系统
  12. 小学生计算机知识技能竞赛,2016年春季小学生六项技能竞赛计算机试卷.doc
  13. 使用IAR和BSL下载程序至MSP430F2122
  14. Win 11 添加并使用 DOH
  15. C# Spire.XLS 无限制 使用教程
  16. 基于深度学习的三维重建算法综述
  17. 个人理财小助手 —— 数据库(二)
  18. 一道传统特色小吃让她萌生创业想法,一天能挣800元
  19. [FreeCodeCamp笔记] Python 数据结构和算法1 二分搜索 Binary Search
  20. 乐高大颗粒作品16:跑步机

热门文章

  1. 求两个数的平均值(三种方法)
  2. 大型多人在线游戏的开发中,如何做到每个玩家动作的实时同步的?
  3. [2018 NUIST 程序设计竞赛] P1553 抑郁的竹鼠
  4. NUIST_OJ P1042手机短号
  5. 输出前20个斐波纳列数列
  6. 第三章程序的机器级表示
  7. 软件测试 接口测试 接口测试的必备条件 接口测试用例设计 HTTP协议基础 Postman
  8. 服务器磁盘爆满,好捉急呀,如何清理MySQL日志?
  9. 经济学基础(本)【3】
  10. 已拿腾讯offer分享面试经历(含答案、推荐书籍、资料分享)