【问题标题】:wget recursive not working as expected [closed]wget递归没有按预期工作[关闭]
【发布时间】:2016-02-08 20:31:03
【问题描述】:

想知道我是否忽略了显而易见的事情

我正在尝试使用

wget -rl 0 -A "*.fna.gz" ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Acinetobacter_nosocomialis/all_assembly_versions

下载ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Acinetobacter_nosocomialis/all_assembly_versions/中所有与*.fna.gz匹配的目录中的所有文件

如果您访问上述链接,您将看到以GCA 开头的目录列表。我想要那些目录中与*.fna.gz 匹配的所有文件,但是当我运行命令时我什么也得不到。我想知道 wget 是否没有将 GCA* 目录识别为目录,这就是问题所在?还是我的 wget 命令有问题?

我很怀疑,因为当我尝试使用 FileZilla 下载目录时,我得到:

GCA_000248315.2_ASM24831v2: Not a regular file
Error:  Critical file transfer error

【问题讨论】:

  • 还尝试了wget -nd -rl 0 --accept-regex ".*GCA.*/.*fna.gz" ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Acinetobacter_nosocomialis/all_assembly_versions/ ,希望它能匹配所有以 .fna.gz 结尾的文件,这些文件位于以 GCA 开头的目录所包含的目录和子目录中。

标签: bash ftp wget


【解决方案1】:

这些不是目录,而是指向其他地方的链接。文件列表中没有给出目标文件类型的信息,即是目录还是普通文件或其他。因此 wget 可能会假设普通文件而不遵循它。

【讨论】:

  • ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Acinetobacter_nosocomialis/all_assembly_versions/ 点击GCA_000301695.1_ASM30169v1 会导致ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Acinetobacter_nosocomialis/all_assembly_versions/GCA_000301695.1_ASM30169v1 如果我wget -nd -rl 0 -A "*.fna.gz" ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria/Acinetobacter_nosocomialis/all_assembly_versions/GCA_000301695.1_ASM30169v1/ 它就像“链接” GCA_000301695.1_ASM30169v1 是一个目录,只有当它有尾随/
【解决方案2】:

显然这没有按预期工作,因为服务器上的一个错误将目录的符号链接显示为普通文件。因此,正如@Steffen Ullrich 所提到的,“文件列表中没有提供目标文件类型的信息,即是目录还是纯文件或其他什么。因此 wget 可能会假定纯文件而不遵循它。”感谢 FileZilla IRC 上的 codequid_ 的澄清。

https://stackoverflow.com/questions/35307325/recursive-wget-cant-get-files-within-symbolic-link-directories 跟进有关解决问题的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-08
    • 2014-08-20
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多