我运行以下命令:
wget -np -c -r -v -l1 -nd -A "*,*multistream-index*,*pages-articles.xml.bz2,*pages-meta-current.xml.bz2,*abstract.xml.gz,*pages-logging.xml.gz,*stub-articles.xml.gz,*stub-meta-current.xml.gz,*stub-meta-history.xml" -R "*.7z,*multistream*.bz2,*pages-articles?*.bz2,*pages-meta-current?*.bz2,*abstract?*.xml.gz,*pages-logging?*.xml.gz,*stub-articles?*.xml.gz,*stub-meta-current?*.xml.gz,*stub-meta-history?*.xml.gz" "https://dumps.wikimedia.org/enwiki/20210401/"
但是,当出现接受/拒绝冲突时,我找不到有关 wget 的优先顺序以及如果发生冲突将发生什么的情况。
对于服务器上的某些文件,存在重复的数据集,例如,有enwiki-20210401-pages-logging.xml.gz
一堆enwiki-20210401-pages-logging.xml{1-27}.gz
包含相同数据的文件。
我只想以最简单的形式下载 1 份数据副本,所以我只想下载enwiki-20210401-pages-logging.xml.gz
而不是编号的等价物。我也不想要多流或 .7z 文件。
然而,这条规则也有例外,一些文件只有编号副本,因此我在 wget 接受/拒绝列表中详细说明了我想要和不想下载的内容。
问题是 wget 似乎忽略了大多数文件,但我不知道为什么。我认为这可能与?*
通配符拒绝列表有关。在某些情况下,我想忽略文件名初始部分后至少有一个数字字符的任何文件,因此拒绝*pages-logging?*.xml.gz
应该可以解决这个问题,但它没有,而是拒绝所有文件,而不是接受单个文件。
我究竟做错了什么?
附言:我知道我应该使用 wikidump 镜像,但是我想先让它与主服务器一起工作,而且大多数镜像都无法工作(并且很长一段时间都没有工作了)。