Como baixar todos os arquivos com o nome emp* usando curl de um site FTP

Como baixar todos os arquivos com o nome emp* usando curl de um site FTP

Como posso baixar todos os arquivos de um diretório de site FTP com nome de arquivo como emp*.

Por favor sugira.

Responder1

Testei este bashliner em um espelho FTP do CentOS 6.5 com sucesso, mas o tornei anônimo para evitar abusos:

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

Para explicar, isso vai para o servidor FTP, obtém a listagem do diretório (primeiro curl), canaliza os dados para o awk para retornar apenas os nomes dos arquivos. Finalmente, isso é canalizado para o grep para corresponder apenas aos arquivos que começam com o número 8 para simular sua emp*necessidade.

Esses nomes de arquivos filtrados se tornam a variável ie eu uso um loop for simples para buscar cada um deles, anexando-os ao URL da segunda solicitação curl. Acabei com estes dois arquivos:

-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

Responder2

Se não estiver faltando alguma coisa, tudo o que você precisa fazer é entrar no diretório e usar "mget emp *". Você pode querer alterar a configuração "prompt" (é um comando de alternância) se não quiser responder a todos os arquivos S/N.

informação relacionada