wget - 阻止创建空目录

时间:2016-03-03 14:41:09

标签: bash wget

有没有办法阻止wget创建空目录?我需要的大多数文件都是在一个深度级别,即/1/2/的文件夹2中找到的,但是我需要使用无限递归,因为有时我需要的文件是1/2/3/或更深。或者至少,我需要暂时无限递归,直到我找出感兴趣的文件所在的最大深度。

现在我正在使用

wget -nH --cut-dirs=3 -rl 0 -A "*assembly*.txt" ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria

哪个获取了我需要的所有文件,但是我留下了一堆空目录。我更喜欢目录结构/bacteria/organism/*assembly*.txt,但如果无法避免创建多个子目录,我想至少停止wget创建空目录。当然,我可以在运行wget后删除空目录,但是如果可能的话,我想阻止wget在第一时间创建它们

1 个答案:

答案 0 :(得分:1)

简短回答:你无法阻止创建目录。

您可以对目录进行后处理:

find bacteria/ -type d -empty -exec rmdir {} \;

查看一堆这些目录(包括 e.coli 非常繁忙的目录),正如您所说的那样,匹配*assembly*.txt的唯一文件存储在第一个目录中bacteria下面的目录。除非这条规则有一些变化,否则你可以这样做:

wget -nH --cut-dirs=2 -rl 2 -A "*assembly*.txt" ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/bacteria

顺便说一句,如果您希望目标结构从bacteria/开始,则需要将--cut-dirs更改为2而不是3。