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.