📌  相关文章
📜  github 获取 repo 大小 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:58.290000             🧑  作者: Mango

使用Shell脚本获取Github仓库大小

GitHub是一个非常受欢迎的代码托管平台,但是如果你想知道你的仓库有多大,使用网站图形界面去查找并不是一件方便的事情。因此,本文将介绍如何使用Shell脚本来获取Github仓库的大小。

目录
功能介绍

该脚本可以通过传入一个Github仓库的URL来获取该仓库的大小,单位为MB。该脚本主要用到了Github的API接口,通过获取返回结果中的size属性来获取仓库的大小。

依赖环境

在使用该脚本前,请确保你的电脑已经安装了以下环境:

  • Shell(Bash)环境
  • curl命令
使用方法

如果你想获取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的返回结果。具体逻辑流程如下:

  1. 获取传入的仓库URL
  2. 通过正则表达式来从URL中提取出仓库名及用户名
  3. 构建Github API请求URL
  4. 发送请求
  5. 解析返回结果,获取仓库大小

下面是该脚本的完整代码:

#!/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."
参考文献