【发布时间】:2020-01-04 19:04:20
【问题描述】:
最近 MaxMind 更改了他们的下载政策,旧的简单格式不再可用。新的文件格式如下所示:GeoLite2-Country_20191231.tar.gz,其中我们有一个同名文件夹,其中包含两个附加文件。
虽然有从链接中删除date参数的选项,但下载的文件似乎仍然会包含日期。
现在,问题是以编程方式从具有该变量名的 gzip 文件中提取 GeoLite2-Country.mmdb。
我的旧脚本中存在的解压缩部分是这样的:
gunzip -c "$1"GeoLite2-Country.mmdb.gz > "$1"GeoLite2-Country.mmdb
问题是如何针对新情况修改上述部分。或者,也许有人知道解决同一问题的另一种方法。提前致谢。
文件夹结构:
-+ Geolite2-Country_YYYYMMDD.tar.gz:
|-+ Geolite2-Country_YYYYMMDD
|- licence.txt
|- copyright.txt
|- Geolite2-Country.mmdb
我需要的是gzip文件当前文件夹中的Geolite2-Country.mmdb。
【问题讨论】:
-
又快又脏?如果目录中只有其中一个文件,
GeoLite2-Country_*.mmdb.gz将起作用。 -
@kaylum 我说现在有多个文件,不只是一个,而且数据库名和文件夹名不匹配。
-
然后编写一个带有
for循环的shell脚本。for循环将遍历GeoLite2-Country*.mmdb.gz。然后extract the filename without extension 为mmdb文件名。 -
@kaylum 感谢您的想法,但我对循环不太熟悉。我用文件夹结构更新了问题,您可以尝试编写脚本吗?