프로젝트 파일 형식에 대한 통계 [닫기]

프로젝트 파일 형식에 대한 통계 [닫기]

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)

그런 다음 파일을 읽어 수동으로 확인하십시오.

일치하는 각 파일에 대해 한 번씩 호출됩니다 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}}}

관련 정보