• Linux琐碎记录之统计源码的行数


    Linux下wc命令是统计代码行数的,其用法如下:

    用法:wc [选项]... [文件]...
     或:wc [选项]... --files0-from=F
    输出每个指定文件的行数、单词计数和字节数,如果指定了
    多于一个文件,继续给出所有相关数据的总计。如果没有指定
    文件,或者文件为"-",则从标准输入读取数据。
    -c, --bytes 输出字节数统计
    -m, --chars 输出字符数统计
    -l, --lines 输出行数统计
    --files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
    指定为"-"则从标准输入读文件名
    -L, --max-line-length 显示最长行的长度
    -w, --words 显示单词计数
    --help 显示此帮助信息并退出
    --version 显示版本信息并退出

    wc -l *.c *.h 就可以知道当前目录下的所有c 和 h 文件的行数的详细信息。很不错

    如果要递归,可以配合其他命令一起使用

    当前目录及子目录:
    find . -name *.c |xargs wc -l
    find . -name *.cpp | xargs wc -l
    find . -name *.h |xargs wc -l

    想一下子 ,或许简单的可以 使用重定向技术 使用

     find -name "*.c">/tmp/file.list ;find -name "*.h" >>/tmp/file.list;cat /tmp/file.list |xargs wc -l;rm /tmp/file.list

    或者这个比较方便:

    wc -l `find ./ -name "*.c";find -name "*.h"`|tail -n1 

    2.统计文件数量

    find . -name *.c |wc -l

    3.统计代码行数(过滤空行)

    find . -name *.c|xargs cat|grep -v ^$|wc -l

    $ find --help
    用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

    默认路径为当前目录;默认表达式为 -print
    表达式可能由下列成份组成:操作符、选项、测试表达式以及动作:

    操作符 (优先级递减;未做任何指定时默认使用 -and):
    ( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
    EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2

    位置选项 (总是真): -daystart -follow -regextype

    普通选项 (总是真,在其它表达式前指定):
    -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
    --version -xdev -ignore_readdir_race -noignore_readdir_race

    测试(N可以是 +N 或-N 或 N):-amin N -anewer FILE -atime N -cmin
    -cnewer 文件 -ctime N -empty -false -fstype 类型 -gid N -group 名称
    -ilname 匹配模式 -iname 匹配模式 -inum N -ipath 匹配模式 -iregex 匹配模式
    -links N -lname 匹配模式 -mmin N -mtime N -name 匹配模式 -newer 文件
    -nouser -nogroup -path 匹配模式 -perm [+-]访问模式 -regex 匹配模式
    -readable -writable -executable
    -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
    -used N -user NAME -xtype [bcdpfls]

    动作: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
    -fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
    -exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
    -execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;

    通过 findutils 错误报告页 http://savannah.gnu.org/ 报告错误及跟踪修定过程。如果您无法浏览网页,请发电子邮件至 <bug-findutils@gnu.org>。



    转载请注明出处:http://www.cnblogs.com/ayanmw 多谢

    ------------------------------------------------------------------------------------------------

    一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。

  • 相关阅读:
    父级和 子集 controller 之间的通讯
    ui-router(三)controller与template
    ui-router详解(二)ngRoute工具区别
    关于MySql全文索引
    Yii提供的Htmler助手checkboxList可自定义Checkbox输出格式
    添加和删除索引以及如何给中间表添加两个主键
    设置数据库及表的默认字符集
    保存数据的时候报类型错误的原因和解决方案
    金融经济
    YII获取刚插入数据的id主键
  • 原文地址:https://www.cnblogs.com/ayanmw/p/2376162.html
Copyright © 2020-2023  润新知