プロジェクトファイル形式の統計[閉じる]

プロジェクトファイル形式の統計[閉じる]

clocコード行数を数えるコマンドがあることがわかりました。さて、ファイル形式が正しいかどうかを知りたいです。clocファイルの種類を検出する方法については、プロジェクトを調べる必要がありますか?私が疑問に思う理由は、私が間違っていない限り、clocが現在のディレクトリにあるPythonファイルを報告しても、出力のtree|ls *.pyないファイル形式を比較するときに偽の肯定があるようです。cloc

答え1

ツリー内のファイル数を確認して.py見つかった数と比較するには、cloc次のようなことを提案します。

find . -type f -name \*.py -printf '1' | wc -c

代わりに。

答え2

たとえば、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)

その後、ファイルを読んで手動で確認してください。

一致するファイルごとに1回呼び出されますcall_counter


1.64より前のバージョン拡張子を確認してのみPythonスクリプトを識別します.py。バージョン1.64以降、clocPythonはshebangを介しても識別できます。

.pyで終わらないPythonファイルを認識するために、python、python2.6、python2.7、python3、python3.3、python3.4をスクリプト実行可能ファイルとして追加しました。

については最新の開発。バージョン次の環境を探します。

%{$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}}}

関連情報