코드 줄 수를 세고 싶다면 가장 간단한 방법은 다음과 같습니다.
cat *.c *.h | wc -l
하지만 하위 디렉터리가 여러 개 있으면 어떻게 되나요?
답변1
답변2
답변3
명령은 여러 인수를 사용할 수 있으므로 GNU 작업에 인수를 사용하여 wc
모든 파일 이름을 다음에 전달할 수 있습니다.wc
+
-exec
find
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