어떤 이유로 든 svn
해결책이 저에게 효과적이지 않으며 svn
다른 것을 필요로 하지 않기 때문에 해결책을 찾기 위해 시간을 소비하는 것이 합리적이지 않으므로 이미 가지고있는 도구를 사용하여 간단한 해결책을 찾았습니다. 이 스크립트는으로 설명 된 GitHub 디렉토리의 모든 파일 만 사용 curl
하고 awk
다운로드합니다 "/:user:repo/contents/:path"
.
GitHub REST API "GET /repos/:user:repo/contents/:path"
명령 에 대한 호출의 리턴 된 본문은
"download_url"
디렉토리의 각 파일에 대한 링크를 포함하는 오브젝트를 리턴합니다 .
이 명령 행 스크립트는 REST API를 사용하여 해당 REST API를 호출하고 curl
AWK를 통해 결과를 전송합니다.이 결과는 "download_url"행을 제외한 모든 항목을 필터링하고 링크에서 따옴표와 쉼표를 지우고 다른 호출 컬을 사용하여 링크를 다운로드합니다.
curl -s https://api.github.com/repos/:user/:repo/contents/:path | awk \
'/download_url/ { gsub("\"|,", "", $2); system("curl -O "$2"); }'