LFTP exclui extensões de arquivo

1

Estou tentando espelhar diretórios com o lftp, mas não quero baixar tipos de arquivos notoriamente grandes como .mp4 e .swf. Mas estou tendo problemas com o regex - e parecendo também o exclude-glob. Ambos baixam todos os arquivos.

O que eu tentei:

/usr/local/bin/lftp -u user,pass -e 'mirror -x ^(\.mp4|\.swf)$ $src $dest' ftp.host

& &

/usr/local/bin/lftp -u user,pass -e 'mirror -X swf $src $dest' ftp.host

    
por Carter 22.07.2015 / 21:37

1 resposta

0

No primeiro caso você deve citar a barra vertical (|), já que dentro do lftp também é um símbolo especial (também use aspas duplas para interpolar as variáveis src e dest, cota barra invertida e cifrão para evitar a interpretação deles pelo shell):

/usr/local/bin/lftp -u user,pass -e "mirror -x '^(\.mp4|\.swf)\$' $src $dest" ftp.host

No segundo caso, você precisa usar padrões glob, assim:

/usr/local/bin/lftp -u user,pass -e "mirror -X *.mp4 -X *.swf $src $dest" ftp.host

De qualquer forma, recomendo testar primeiro o comando mirror com a mão e automatizá-lo depois.

    
por 23.05.2016 / 16:03