搜尋

首頁  >  問答  >  主體

linux - 怎么统计一个工程的代码行数

我要统计一下我一个c工程的代码行数

wc -l *.c

只能统计当前文件夹,子文件夹搞不定

find . -name '*.c' | wc -l

统计出来的是文件数量。。。
怎么才能统计一个文件夹下边的所有c文件行数,包括子文件夹里的

怪我咯怪我咯2788 天前982

全部回覆(8)我來回復

  • PHP中文网

    PHP中文网2017-04-17 11:06:56

    把文件名傳遞給wc命令即可

    find . -name '*.c' | xargs wc -l {}\;

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 11:06:56

    我曾經使用過一個windows下的工具,具體介紹在這裏
    http://code.google.com/p/boomworks/wiki/SourceCounterCN
    能夠統計包括:代碼行數、注釋、空行、文件大小等數據。
    另外,還支持對軟件開發項目的各個開發階段的工數、成本、質量指標等進行分析和預測。

    cloc網站上也介紹了一些

    • Sonar
    • Ohcount
    • SLOCCount
    • sclc
    • USC's CODECOUNT
    • loc

    cloc Basic Use

    prompt> cloc perl-5.10.0.tar.gz
        4076 text files.
        3883 unique files.                                          
        1521 files ignored.
    
    http://cloc.sourceforge.net v 1.50  T=12.0 s (209.2 files/s, 70472.1 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    Perl                          2052         110356         130018         292281
    C                              135          18718          22862         140483
    C/C++ Header                   147           7650          12093          44042
    Bourne Shell                   116           3402           5789          36882
    Lisp                             1            684           2242           7515
    make                             7            498            473           2044
    C++                             10            312            277           2000
    XML                             26            231              0           1972
    yacc                             2            128             97           1549
    YAML                             2              2              0            489
    DOS Batch                       11             85             50            322
    HTML                             1             19              2             98
    -------------------------------------------------------------------------------
    SUM:                          2510         142085         173903         529677
    -------------------------------------------------------------------------------
    

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 11:06:56

    以前用 find wc, 現在用cloc。

    cloc 是 perl 編寫的代碼統計工具。不僅支持多種語言,還能計算空行和注釋行。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 11:06:56

    也可以用find的exec參數,然後用awk加起來。

    find -name "*.c" -exec wc -l "{}" ; | awk '{s =$1}END{print s}'

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 11:06:56

    http://igaojie.com/?p=308

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 11:06:56

    用shell最簡單啊。。。也可以這樣。 cat find . -name *.c | wc -l

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 11:06:56

    找到。 -名稱“*。[ch]*”| xargs wc -l | xargs wc -l | grep“總計”| awk '{ print $1}'

    回覆
    0
  • 阿神

    阿神2017-04-17 11:06:56

    http://blog.csdn.net/tianmohu...

    linux下如何統計一個目錄下的文件個數以及代碼總行數的命令
    知道指定後綴名的文件總個數命令:
    find . -name "*.cpp" | wc -l
    知道一個目錄下代碼總行數以及單個文件行數:
    find . -name "*.h" | xargs wc -l

    find . -name "*.c" | xargs grep '^.' | wc -l //不包括空白行

    wc -l find . -name "*.c " //注意find內容被~下麵的那個符號包著

    linux統計文件夾中文件數目
    第一種方法:
    ls -l|grep “^-”|wc -l
    ls -l

    回覆
    0
  • 取消回覆