etc) GitHub - 코드 줄 수 확인

etc) GitHub - 코드 줄 수 확인

깃헙(GitHub)의 특정 저장소(repository)에 있는 소스코드의 줄 수를 확인해보자.


일반적인 사용

이 기능은 깃헙에서 공식으로 지원하지 않는 기능이며 사용자가 로컬 환경에서 별도의 명령어를 사용하여야 한다.

특정 저장소의 터미널이나 콘솔창에서 다음과 같이 코드를 입력하면 모든 파일의 코드 줄 수가 출력된다.

1
2
3
4
5
6
7
8
9
git ls-files | xargs wc -l
## 27 00_environment.R
## 39 01_connection_test.R
## 1 README.md
## 13 abc.Rproj
## 46 scripts/get_access_token.R
## 60 scripts/get_oauth_code.R
## 18 scripts/get_refresh_token.R
## 204 total

기존 코드에서 grep 명령어와 정규표현식(regular expresstion)을 추가로 써주면 해당 정규식 패턴에 맞는 파일을 골라서 확인할 수 있다. 다음은 “.md” 파일을 골라서 확인한 결과이다.

1
2
git ls-files | grep '\.md' | xargs wc -l
## 1 README.md

파일이 하나여서 “total” 항목이 생략되었으며 잘 동작하는 것을 확인할 수 있다.

단, 파일명 중간에 “.md” 라는 패턴이 있으면 다른 확장자일지라도 패턴에 걸리기 때문에 정규식에서 “특정 문자로 끝난다”는 표현에 활용되는 $를 사용하여 보다 깔끔하게 처리할 수 있겠다.

R코드로 확인

만약 특정 R 프로젝트가 GitHub 저장소와 연결되어 있다면 해당 프로젝트의 작업 폴더에서 직접 R코드를 활용하여 특정 파일 확장자의 소스코드 줄 수를 확인할 수 있다.

단, 다음의 예시는 Ubuntu에 설치된 RStudio Server의 콘솔창에서 실행한 결과이다.

1
2
3
4
5
6
7
8
system("git ls-files | grep '\\.R' | xargs wc -l")
## 27 00_environment.R
## 39 01_connection_test.R
## 13 abc.Rproj
## 46 scripts/get_access_token.R
## 60 scripts/get_oauth_code.R
## 18 scripts/get_refresh_token.R
## 203 total

파일의 패턴이 .R인 것을 추려내어 확인하고자 하였으나 .Rproj 파일까지 그 패턴에 걸려 의도치 않게 13줄이 더해진 총 203줄의 코드가 작성되었다고 확인된다. 보다 정확하게 .R 파일 확장자인 파일만 확인하고자 한다면 “grep” 명령어 뒤의 정규표현식을 다음과 같이 알맞게 수정해야 한다.

1
2
3
4
5
6
7
system("git ls-files | grep '\\.R$' | xargs wc -l")
## 27 00_environment.R
## 39 01_connection_test.R
## 46 scripts/get_access_token.R
## 60 scripts/get_oauth_code.R
## 18 scripts/get_refresh_token.R
## 190 total

정규표현식에서 “특정 문자로 끝난다”는 표현에 활용되는 $를 사용하여 보다 정확하게 파일 목록을 추려낸 것을 확인할 수 있고, 총 190줄의 코드가 확인되었다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×