从包含多个文件的 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 /
只需修复源路径和目标路径
最近 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 /
只需修复源路径和目标路径