Como baixar todo o arquivo com o nome emp * usando o curl de um site FTP

0

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

Por favor, sugira.

    
por Gaurav Kaushik 11.07.2014 / 12:42

2 respostas

1

Eu testei esse bash one liner contra um espelho FTP do CentOS 6.5 com sucesso, mas anonymizei isso para evitar abuso:

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 de diretórios (first 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 o requisito emp* .

Esses nomes de arquivos filtrados tornam-se a variável i e, em seguida, uso um loop for simples para buscar cada um, anexando-os à URL da segunda solicitação de onda. Acabei com esses 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
    
por 11.07.2014 / 14:28
0

Se eu não estou perdendo algo, tudo 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 Y / N.

    
por 11.07.2014 / 16:01