![코드 줄을 세나요?](https://linux55.com/image/8609/%EC%BD%94%EB%93%9C%20%EC%A4%84%EC%9D%84%20%EC%84%B8%EB%82%98%EC%9A%94%3F.png)
코드 줄 수를 세고 싶다면 가장 간단한 방법은 다음과 같습니다.
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