Как я могу получить все файлы, загруженные из каталога FTP сайта с именем файла, например emp *
Пожалуйста, предложите.
Как я могу получить все файлы, загруженные из каталога FTP сайта с именем файла, например emp *
Пожалуйста, предложите.
Ответы:
Я проверял это bash
один лайнер против зеркала CentOS 6.5 FTP успешно, но я анонимизировал его, чтобы предотвратить злоупотребления:
for i in `curl -i ftp://ftp.example.com/pub/centos/6.5/updates/i386/repodata/ | awk '{print $9}' | grep ^8`; do curl -O http://ftp.eample.com/pub/centos/6.5/${i} ; done
Для объяснения это идет на сервер ftp, получает список каталогов (первый curl), передает данные в awk, чтобы вернуть только имена файлов. Наконец, это передается в grep для соответствия только тем файлам, которые начинаются с цифры 8, чтобы имитировать ваши emp*
требование.
Эти отфильтрованные имена файлов становятся переменными i
и затем я использую простой цикл for для извлечения каждого из них, добавляя их к URL-адресу для второго запроса curl. Я закончил с этими двумя файлами:
-rw-r--r-- 1 adam staff 362 11 Jul 13:22 819455e9f840760fcbdccf0283e4324ceabc8512f246e911d39424760ed1729e-primary.xml.gz
-rw-r--r-- 1 adam staff 360 11 Jul 13:22 8e4d3dd261375d31b35b6870e187d841633c68a400e4d11bb7234fea517cdbaa-other.xml.gz
Если я не пропустил что-то, все, что вам нужно сделать, это зайти в каталог и использовать «mget emp *». Вы можете изменить настройку «подсказки» (это команда переключения), если вы не хотите отвечать на каждый файл Y / N.