本案例以object c开发的app为例,若统计统计其它语言开发的app,只需要修改参数列表"*[.h|.m|.mm|.cpp|.c|.plist|.html|.htm]"。
申请软件著作权时,需要提供代码的前1000行的代码和后1000行的代码,代码行数等信息。
如:
硬件环境:iphone4及以上手机
软件环境:iOS 8及以上版本
编程语言:Object C
源程序两:207579行
java服务器开发有插件可以直接统计代码量。而苹果我没有对应的插件。苹果本来就时从UNIX和LINUX演变来的,linux的shell命令,在苹果的命令行下都基本适用。所以写出对应的shell命令就能统计出来。注意:因为中英文输入法等问题,可能出现拷贝的语句无法正确执行,可以手动输入就可以了。
统计当前目录及其子目录下忽略空行的代码量语句如下:

find . -name "*.h" | xargs cat|grep -v ^$|wc -l
find . -name "*.m" | xargs cat|grep -v ^$|wc -l
find . -name "*.c" | xargs cat|grep -v ^$|wc -l
find . -name "*.cpp" | xargs cat|grep -v ^$|wc -l
find . -name "*.mm" | xargs cat|grep -v ^$|wc -l
find . -name "*.html" | xargs cat|grep -v ^$|wc -l
find . -name "*.htm" | xargs cat|grep -v ^$|wc -l

注意:新版的M1芯片的苹果电脑上面的单行命令查询支持,下面的查询不支持:

pple@AppledeMacBook-Pro SameCity % find . -name "*.h" | xargs cat|grep -v ^$|wc -l681
apple@AppledeMacBook-Pro SameCity % find . -name "*.m" | xargs cat|grep -v ^$|wc -l6939
apple@AppledeMacBook-Pro SameCity % find . -name "*[.h|.m|.mm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
zsh: no matches found: ^s*//.*$0
cat: .: Is a directory
xargs: cat: terminated with signal 13; aborting
apple@AppledeMacBook-Pro SameCity % find . -name "*[.h|.m|.mm|.cpp|.c|.html|.htm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
zsh: no matches found: ^s*//.*$0
cat: .: Is a directory
cat: ./SameCity/ViewModel: Is a directory
xargs: cat: terminated with signal 13; aborting
apple@AppledeMacBook-Pro SameCity %

统计忽略空行,忽略以“//”开头的行注释(不能忽略以“/”开始或“\”结束的代码块注释),统计object c开发常用的文件代码行数。只需要下面一行命令就能实现代码行数统计:

find . -name "*[.h|.m|.mm|.cpp|.c|.html|.htm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l

语句执行效果截图(由于显示的内容太多,只显示语句查询结果的前部分信息和后部分呢信息,中间的信息就不截图了):


若参数太多可以分成4句来统计:

jgs:PinkPig的副本3 mac$ find . -name "*[.h|.m|.mm|.cpp|.c|.html|.htm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
xargs: cat: Argument list too long0
find . -name "*.htm" | xargs cat|grep -v ^$|wc -l
find . -name "*[.c|.cpp]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
find . -name "*.html" | xargs cat|grep -v ^$|wc -l
find . -name "*.htm" | xargs cat|grep -v ^$|wc -l

由于第三方库中包含大量.cpp代码,而苹果开发常用的文件后缀有三种:.h,.m,.mm。所以精简并常用的代码行数统计命令是:

find . -name "*[.h|.m|.mm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l

执行的效果如下:

jiaguoshangdeMacBook-Air:ArtEnjoymentWeChatAuction jiaguoshang$ find . -name "*[.h|.m|.mm]"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
cat: .: Is a directory
cat: ./Pods/Target: No such file or directory
cat: Support: No such file or directory
cat: Files/YXFDCategories/YXFDCategories-prefix.pch: No such file or directory
cat: ./Pods/Target: No such file or directory
cat: Support: No such file or directory
cat: Files/YXFDCategories/YXFDCategories-dummy.m: No such file or directory
cat: ./Pods/Target: No such file or directory
.
.
.
cat: ./Pods/Target: No such file or directory
cat: Support: No such file or directory
cat: Files/SDWebImage/SDWebImage-dummy.m: No such file or directory
cat: ./Pods/UMengUShare/UShareSDK/SocialLibraries/Instagram: Is a directory
cat: ./Pods/AliyunOSSiOS/Supporting: No such file or directory
cat: Files/AliyunOSSiOS.h: No such file or directory177086
jiaguoshangdeMacBook-Air:ArtEnjoymentWeChatAuction jiaguoshang$

注意需要统计时要用这个目录:

当然你想统计包含自己的私有库,需要在上一层目录执行统计命令,不想统计开源库,只需要把对应的开源库的文件夹和文件删除再统计就可以了。

苹果app代码行数统计相关推荐

  1. Visual studio代码行数统计

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

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

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

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

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

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

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

  5. 一行shell命令实现代码行数统计

    一行命令实现代码行数统计     1. 基本版 find . -name "*.cpp"|xargs wc -l|grep "total"|awk '{prin ...

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

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

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

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

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

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

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

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

  10. SVN 代码行数统计

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

最新文章

  1. 连接MYSQL的时候报错(找不到请求的.net framework data provider。可能没有安装
  2. BugKuCTF 杂项 白哥的鸽子
  3. 朋友圈加粗字体数字_数字+符码:医院数码导视系统畅想起来
  4. 用树莓派+lora shield搭建一个LoRaWAN网关
  5. WIN7系统下安装SQLServer2000 + sp4数据库报错之解决办法
  6. 离散数学知识点总结(4):合取范式,析取范式
  7. 阿里云ECS服务器组内网
  8. HSA-TPP 人血清白蛋白-磷酸三苯酯,HSA-PEG-TPP
  9. 菜鸟写Python-Scrapy:Spider源码分析
  10. 陶哲轩是如何安排时间的
  11. 使用Acrobat剪切pdf文件中矢量图
  12. 请更换备份电池 pos机_POS机报错58终端无效的快速处理方法!
  13. USACO-The Castle
  14. 欧拉角、四元数与旋转
  15. 如何理解paddle.reader.xmap_readers()函数
  16. IDM一直弹出下载框怎么办?
  17. Springboot mysql访问异常:User does not have access to metadata required to determine stored procedure
  18. 计算机报名照片在线修图,2020河北省考报名照片处理工具及使用说明
  19. Guna Charts WinForm 1.0.8 Crack
  20. CompletableFuture.thenCompose

热门文章

  1. VS2010SP1dvd1安装失败。
  2. Xcode 之真机调试
  3. 计算机和信息系统安全保密管理规定,信息系统安全和保密管理制度
  4. c语言蜂鸣器放音乐程序,蜂鸣器音乐程序设定C语言.doc
  5. VS/C#添加chart控件
  6. 某运动APP登录协议分析
  7. SMP多核启动(二):PSCI
  8. ERP进销存源码(进销存ERP系统)
  9. Java Servlet 实战入门教程-01-Servlet 是什么,Servlet与tomcat/j2EE的关系
  10. 计算机入门培训考试,计算机基础培训考试习题.doc