2013-02-14 2 views
1

Возможно ли иметь две подстановочные знаки? Если нет, есть ли другой способ решить эту проблему?Bash: Как рекурсивно ftp определенный тип файла в нескольких каталогах

Я пытаюсь рекурсивно получить тип файла с ftp-сервера с помощью Bash. Но у меня возникают проблемы с тем, что я пытаюсь удалить файлы из нескольких каталогов. Многие из этих имен каталогов будут иметь соответствующие строки. Клиент будет искать все каталоги с соответствующей строкой и получать определенный тип файла от каждого. В каждом каталоге может быть много файлов с одинаковым расширением.

То, что я пытался сделать, это использовать wget рекурсивно.

wget -r 'ftp://anonymous:@$HOST/$PATH/$DIRSTRING*/*.$FILEEXT 

Это дает мне сообщение об ошибке, говорящее в $ PATH/$ DIRSTRING */файл или каталог не может быть найден.

Я знаю, что wget поддерживает globbing. Но возможно ли иметь две подстановочные знаки? Если нет, есть ли другой способ решить эту проблему?

С наилучшими пожеланиями

+1

Я думаю, что '$ PATH/$ DIRSTRING' должна быть расширена на местном уровне? Вы должны попробовать с двойными кавычками, как в 'wget -r 'ftp: // ..' – 244an

+0

У меня такая же проблема, использование двойных кавычек не работает, никаких других предложений? – user1834095

ответ

1

Wget не очень подходит для такого рода FTP использование ... но LFTP очень хорошо зеркалирование данных FTP-сервер, он даже поддерживает подстановку! :) для вашего примера:

lftp -e "mirror -I '$DIRSTRING*/*$FILEEXT' /$RPATH mirrorSite" ftp://[email protected]$HOST 

см команда man lftp/зеркало

 Смежные вопросы

  • Нет связанных вопросов^_^