开发一个 Linux 命令行工具来跟踪和绘制 Covid-19 统计数据

作者:Nawaz Abbasi
Develop a Linux command-line Tool to Track and Plot Covid-19 Stats

已经过去一年多了,我们仍然在生活的几乎每个方面与疫情作斗争。 感谢科技,我们有各种工具和机制来跟踪 Covid-19 相关的指标,这有助于我们做出明智的决定。 这篇入门级教程讨论了从头开始,仅在 Linux 命令行上开发这样一种工具。

我们将从介绍该工具最重要的部分开始——API和命令。 我们将为我们的工具使用 2 个 API - COVID19 API 和 Quickchart API 和 2 个关键命令 – curljq。 简单来说,curl 命令用于数据传输,jq 命令用于处理 JSON 数据。

完整的工具可以分解为 2 个关键步骤

1. 从 COVID19 API 获取(GET 请求)数据,并将 JSON 输出管道传输到 jq,以便仅处理全局数据(或类似地,特定国家/地区的数据)。

$ curl -s --location --request GET 'https://api.covid19api.com/summary' | jq -r '.Global'

{

  "NewConfirmed": 561661,

  "TotalConfirmed": 136069313,

  "NewDeaths": 8077,

  "TotalDeaths": 2937292,

  "NewRecovered": 487901,

  "TotalRecovered": 77585186,

  "Date": "2021-04-13T02:28:22.158Z"

}

2. 将步骤 1 的输出存储在变量中,并使用这些变量调用 Quickchart API,以绘制图表。 随后将 JSON 输出管道传输到 jq,以便仅过滤到我们图表的链接。

$ curl -s -X POST \

       -H 'Content-Type: application/json' \

       -d '{"chart": {"type": "bar", "data": {"labels": ["NewConfirmed ('''${newConf}''')", "TotalConfirmed ('''${totConf}''')", "NewDeaths ('''${newDeath}''')", "TotalDeaths ('''${totDeath}''')", "NewRecovered ('''${newRecover}''')", "TotalRecovered ('''${totRecover}''')"], "datasets": [{"label": "Global Covid-19 Stats ('''${datetime}''')", "data": ['''${newConf}''', '''${totConf}''', '''${newDeath}''', '''${totDeath}''', '''${newRecover}''', '''${totRecover}''']}]}}}' \

       https://quickchart.io/chart/create | jq -r '.url'

https://quickchart.io/chart/render/zf-be27ef29-4495-4e9a-9180-dbf76f485eaf

就是这样! 现在我们的数据绘制在图表中

LJ Global-Stats-Track-And-Plot-Covid19-Stats

最后,将所有内容组合在一个 shell 脚本中即可完成该工具。 这是下载和/或直接执行它的链接 - TrackAndPlotCovid19Stats

请注意,该工具还有很大的改进和增强空间,因此请随时进一步开发它。

保持健康!

 

Nawaz 是一位 Linux CLI 爱好者,喜欢分享与命令行和 shell 脚本相关的技巧和教程。 可以通过LinkedIn联系他。

加载 Disqus 评论