wget - исключение заданной директории в случайных местах при скачивании с FTP
Есть bash скрипт с примерно таким содержанием:
SKIP="*.sql.gz,*.cache*"
SKIPDIRS="/thumbs/"
wget -o ${LOG} -P ${OUTPUTDIR} --reject ${SKIP} --reject-regex ${SKIPDIRS} --recursive -nv -nc -nH --level=0 ${FROM} --ftp-user=${USER} --ftp-password=${PWD} --passive-ftp=on
И на FTP есть примерно такая структура каталогов:
\
-something1
-something2
-images
-cat1
-thumbs
-cat2
-thumbs
-subcat21
-subcat22
-thumbs
-subcat221
-thumbs
-catN
-thumbs
Число директорий внутри /images/, их наименования, вложенность, наличие вложенных /thumbs/ все может быть произвольным. Задача: выдрать это все с FTP wget'ом, исключая все директории /thumbs/ вместе с содержимым.
В приведенном выше скрипте все работает отлично кроме того, что директории thumbs скачиваются полностью с содержимым.
Пробовал так (прочие параметры не менял):
SKIPDIRS="/thumbs/"
wget --reject-regex ${SKIPDIRS}
SKIPDIRS=".*/thumbs/.*"
wget --reject-regex ${SKIPDIRS}
SKIPDIRS="thumbs"
wget --exclude-directories ${SKIPDIRS}
SKIPDIRS="*/thumbs/*"
wget --exclude-directories ${SKIPDIRS}
и даже так
SKIP="*.sql.gz,*.cache*,*/thumbs/*"
wget --reject ${SKIP}
Все бесполезно, /thumbs/ скачиваются вместе с содержимым. --exclude-directories вообще от корня работает, но я так не могу, все произвольно.
Как правильно задать исключение?
Источник: Stack Overflow на русском