wget - запретить создание пустых каталогов

Есть ли способ остановить wget от создания пустых каталогов? Большинство нужных мне файлов находятся на одном уровне глубины, т.е. в папке 2 /1/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 ответ

Краткий ответ: вы не можете помешать созданию каталогов.

Вы можете сделать пост-обработку в каталогах, хотя:

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.

Другие вопросы по тегам