📅  最后修改于: 2023-12-03 15:30:58.290000             🧑  作者: Mango
GitHub是一个非常受欢迎的代码托管平台,但是如果你想知道你的仓库有多大,使用网站图形界面去查找并不是一件方便的事情。因此,本文将介绍如何使用Shell脚本来获取Github仓库的大小。
该脚本可以通过传入一个Github仓库的URL来获取该仓库的大小,单位为MB。该脚本主要用到了Github的API接口,通过获取返回结果中的size
属性来获取仓库的大小。
在使用该脚本前,请确保你的电脑已经安装了以下环境:
如果你想获取https://github.com/GoogleChrome/puppeteer
这个仓库的大小,可以在终端中输入以下命令:
$ ./github_repo_size.sh https://github.com/GoogleChrome/puppeteer
执行该命令后,你将会看到以下输出:
The size of GoogleChrome/puppeteer repository is 85.20 MB.
其中85.20
即为该仓库的大小(单位是MB)。
该脚本中主要用到了curl命令来获取Github API的返回结果。具体逻辑流程如下:
下面是该脚本的完整代码:
#!/bin/bash
# 获取传入的仓库URL
REPO_URL=$1
# 通过正则表达式来从URL中提取出仓库名及用户名
USER=`echo $REPO_URL | sed -e "s/.*github.com\///" -e "s/\/.*//" `
REPO=`echo $REPO_URL | sed -e "s/.*\///" `
# 构建Github API请求URL
API_URL="https://api.github.com/repos/$USER/$REPO"
# 发送请求
RESULT=`curl -s -X GET $API_URL`
# 解析返回结果,获取仓库大小
SIZE=`echo $RESULT | grep -m1 -oP '(?<="size":)[^,}]+'`
# 输出结果
echo "The size of $USER/$REPO repository is $SIZE MB."