Tree
項目文件類型的統計資訊
我了解到有一個命令
cloc
可以計算程式碼行數。現在我想知道文件類型是否準確?我應該查看cloc
項目以了解如何檢測文件類型嗎?我想知道的原因是,如果我在將文件類型與tree|ls *.py
沒有輸出進行比較時沒有記錯的話, cloc 似乎有誤報,即使cloc
報告目前目錄中的 python 文件也是如此。
如果您想檢查
.py
樹中的文件數以將其與找到的數字進行比較cloc
,我建議您使用類似find . -type f -name \*.py -printf '1' | wc -c
反而。
您可以增加詳細程度並獲取已辨識文件的列表,例如對於 Python:
cloc -v=3 . | grep 'call_counter(.* Python)'
樣本輸出:
-> call_counter(./data/action_i18n_strings.py, Python) -> call_counter(./files/usr/share/nemo/actions/myaction.py, Python)
然後通過讀取文件手動驗證文件。
call_counter
為每個匹配的文件呼叫一次。1.64 之前的版本僅通過檢查副檔名來辨識 Python 腳本
.py
。從 1.64 版開始cloc
,也通過 shebang 辨識 Python:添加了 python、python2.6、python2.7、python3、python3.3、python3.4 作為腳本執行檔,以辨識不以 .py 結尾的 Python 文件。
%{$rh_Language_by_Script} = ( # {{{1 'awk' => 'awk' , 'bash' => 'Bourne Again Shell' , 'bc' => 'bc' ,# calculator 'crystal' => 'Crystal' , 'csh' => 'C Shell' , 'dmd' => 'D' , 'dtrace' => 'dtrace' , 'idl' => 'IDL' , 'kermit' => 'Kermit' , 'ksh' => 'Korn Shell' , 'lua' => 'Lua' , 'make' => 'make' , 'octave' => 'Octave' , 'perl5' => 'Perl' , 'perl6' => 'Perl' , 'perl' => 'Perl' , 'miniperl' => 'Perl' , 'php' => 'PHP' , 'php5' => 'PHP' , 'python' => 'Python' , 'python2.6'=> 'Python' , 'python2.7'=> 'Python' , 'python3' => 'Python' , 'python3.3'=> 'Python' , 'python3.4'=> 'Python' , 'python3.5'=> 'Python' , 'rexx' => 'Rexx' , 'regina' => 'Rexx' , 'ruby' => 'Ruby' , 'sed' => 'sed' , 'sh' => 'Bourne Shell' , 'swipl' => 'Prolog' , 'tcl' => 'Tcl/Tk' , 'tclsh' => 'Tcl/Tk' , 'tcsh' => 'C Shell' , 'wish' => 'Tcl/Tk' , 'zsh' => 'zsh' , ); # 1}}}