Linux瑣碎記錄之統計源碼的行數

來源:互聯網
上載者:User

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>。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.