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부터 cloc
Python은 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}}}