코드 줄을 세나요?

코드 줄을 세나요?

코드 줄 수를 세고 싶다면 가장 간단한 방법은 다음과 같습니다.

cat *.c *.h | wc -l

하지만 하위 디렉터리가 여러 개 있으면 어떻게 되나요?

답변1

가장 간단한 방법은cloc. 다음과 같이 사용하세요:

cloc .

그게 다야. :-)

답변2

아마 사용해야 할 것입니다SLOC 수또는크록이러한 이유로 디렉터리 구조 등에 관계없이 프로젝트의 소스 코드 줄 수를 계산하도록 특별히 설계되었습니다.

sloccount .

또는

cloc .

현재 디렉터리부터 시작하는 모든 소스 코드에 대한 보고서가 생성됩니다.

findand 를 사용하고 싶다면 wcGNU에는 wc좋은 --files0-from옵션이 있습니다:

find . -name '*.[ch]' -print0 | wc --files0-from=- -l

(감사해요뱀 문서~을 위한크록이 제안한! )

답변3

명령은 여러 인수를 사용할 수 있으므로 GNU 작업에 인수를 사용하여 wc모든 파일 이름을 다음에 전달할 수 있습니다.wc+-execfind

find . -type f -name '*.[ch]' -exec wc -l {} +

또는 bash쉘 옵션을 사용하여 globstar디렉터리를 재귀적으로 탐색할 수 있습니다.

shopt -s globstar
wc -l **/*.[ch]

다른 쉘은 기본적으로 재귀적으로 탐색하거나(예 :) 적어도 대부분 zsh유사한 옵션을 갖습니다 .globstar

답변4

find다음 과 함께 xargs사용할 수 있습니다 wc.

find . -type f -name '*.h' -o -name '*.c' | xargs wc -l

관련 정보