Baixar arquivos específicos com FTP?

1

Estou tentando usar o FTP para baixar centenas de arquivos em um diretório. Existe uma maneira de baixar apenas arquivos específicos com FTP?

Idealmente, gostaria de corresponder arquivos específicos usando uma expressão regular. Infelizmente, o diretório é enorme e é muito grande para baixar o diretório inteiro e usar o find ou o grep localmente para manipular certos arquivos. Existe uma maneira simples de fazer o que estou tentando fazer no Unix?

Se não, eu pretendo apenas escrever um script em perl ou python. Agradecemos antecipadamente pela ajuda.

    
por dr.bunsen 19.10.2011 / 23:40

4 respostas

4

Você pode usar o shell globbing no sistema remoto certificando-se glob está ativado, em seguida, fazendo mget .

Consulte o link para obter mais informações.

Acredito que isso seja o máximo possível com o FTP. Se você pode obter o acesso ssh, há muito mais que você pode fazer, incluindo grepping e modificar os arquivos no servidor.

    
por 20.10.2011 / 00:14
1

Muitas vezes, grandes repositórios de arquivos terão um arquivo index.txt em algum lugar. Se você baixar, ele contém uma lista de todos os arquivos dentro dessa pasta. Bastante útil para quick greps de listas de pacotes, pelo menos.

    
por 20.10.2011 / 07:21
1

Monte o servidor FTP como um diretório local com um dos vários FUSE -based sistemas de arquivos para FTP, use sua ferramenta favorita (como cp plus curingas de shell ou rsync ) para corresponder e copiar os arquivos que você deseja recuperar. Por exemplo:

mkdir example-somedir
curlftpfs ftp://ftp.example.com/somedir example-somedir
cd example-somedir
rsync -a --exclude 'boring.ext' --include='*.ext' --exclude='*' . /path/to/local/copy
fusermount -u example-somedir
    
por 20.10.2011 / 19:56
0

Se você quiser uma solução GUI e tiver o navegador Konqueror, você pode digitar ftp:// e o endereço ftp e navegar pela estrutura de diretórios.

Parece que você pode querer uma solução de linha de comando, no entanto.

    
por 20.10.2011 / 22:00

Tags