从包含多个文件的 gzip 中仅提取 MaxMind GeoLite2 Country 数据库的脚本

Script to extract only the MaxMind GeoLite2 Country database from gzip containing multiple files

最近 MaxMind 更改了他们的下载政策,旧的简单格式不再可用。新文件格式如下所示:GeoLite2-Country_20191231.tar.gz,在里面我们有一个同名的文件夹,其中包含两个附加文件。

虽然有一个选项可以从 link 中删除 date 参数,但下载的文件似乎仍会包含日期。

现在,问题是以编程方式从具有该变量名的 gzip 文件中提取 GeoLite2-Country.mmdb

我的旧脚本中存在的解压缩部分是这样的:

gunzip -c ""GeoLite2-Country.mmdb.gz > ""GeoLite2-Country.mmdb

问题是如何针对新情况修改以上部分。或者,也许有人知道解决同一问题的另一种方法。提前致谢。

文件夹结构:

-+ Geolite2-Country_YYYYMMDD.tar.gz:
 |-+ Geolite2-Country_YYYYMMDD
   |- licence.txt
   |- copyright.txt
   |- Geolite2-Country.mmdb

我需要的是gzip文件当前文件夹中的Geolite2-Country.mmdb

tar -tf /GeoLite2-City.tar.gz | grep mmdb | xargs tar -xf  /GeoLite2-City.tar.gz --strip-components 1 -C /

只需修复源路径和目标路径