깃헙(GitHub)의 특정 저장소(repository)에 있는 소스코드의 줄 수를 확인해보자.
일반적인 사용
이 기능은 깃헙에서 공식으로 지원하지 않는 기능이며 사용자가 로컬 환경에서 별도의 명령어를 사용하여야 한다.
특정 저장소의 터미널이나 콘솔창에서 다음과 같이 코드를 입력하면 모든 파일의 코드 줄 수가 출력된다.
1 | git ls-files | xargs wc -l |
기존 코드에서 grep
명령어와 정규표현식(regular expresstion)을 추가로 써주면 해당 정규식 패턴에 맞는 파일을 골라서 확인할 수 있다. 다음은 “.md” 파일을 골라서 확인한 결과이다.
1 | git ls-files | grep '\.md' | xargs wc -l |
파일이 하나여서 “total” 항목이 생략되었으며 잘 동작하는 것을 확인할 수 있다.
단, 파일명 중간에 “.md” 라는 패턴이 있으면 다른 확장자일지라도 패턴에 걸리기 때문에 정규식에서 “특정 문자로 끝난다”는 표현에 활용되는 $
를 사용하여 보다 깔끔하게 처리할 수 있겠다.
R코드로 확인
만약 특정 R 프로젝트가 GitHub 저장소와 연결되어 있다면 해당 프로젝트의 작업 폴더에서 직접 R코드를 활용하여 특정 파일 확장자의 소스코드 줄 수를 확인할 수 있다.
단, 다음의 예시는 Ubuntu에 설치된 RStudio Server의 콘솔창에서 실행한 결과이다.
1 | system("git ls-files | grep '\\.R' | xargs wc -l") |
파일의 패턴이 .R
인 것을 추려내어 확인하고자 하였으나 .Rproj
파일까지 그 패턴에 걸려 의도치 않게 13줄이 더해진 총 203줄의 코드가 작성되었다고 확인된다. 보다 정확하게 .R
파일 확장자인 파일만 확인하고자 한다면 “grep” 명령어 뒤의 정규표현식을 다음과 같이 알맞게 수정해야 한다.
1 | system("git ls-files | grep '\\.R$' | xargs wc -l") |
정규표현식에서 “특정 문자로 끝난다”는 표현에 활용되는 $
를 사용하여 보다 정확하게 파일 목록을 추려낸 것을 확인할 수 있고, 총 190줄의 코드가 확인되었다.