Faça o download do arquivo do sftp após uma ordem de arquivo m3u

0

Em um servidor ssh, posso conectar usando o sftp. Neste servidor eu tenho uma lista de arquivos mkv que estão listados na playlist m3u8. Eu quero baixar os mkvs, mas eu quero o download de acordo com a ordem na lista m3u8.

Se eu pudesse usar o sh in sftp, eu seria capaz de fazer algo como:

while read line ; do
    if [[ $path != "#"* ]] ; do
        get $path
    fi
done < playlist.m3u8

(O teste if se a linha é um comentário antes de baixá-lo)

Finalmente, gosto de fazer algo como a opção -i wget :

-i file

--input-file=file

Read URLs from a local or external file.

Então, como posso baixar arquivos com o sftp na ordem de uma lista de músicas do m3u?

    
por fauve 03.12.2017 / 05:18

1 resposta

1

Use -b : sftp -b ou sftp -b - para ler a entrada padrão. O arquivo de lote (ou entrada padrão) deve conter comandos sftp , como, por exemplo, get . Consulte a página de manual para obter detalhes.

remote_user='...'
remote_host='...'
playlist_file='...'
while read line; do
    if [[ $line != "#"* ]] ; do
        echo '-get' "$line"
    fi
done < "$playlist_file" | sftp -b - "$remote_user"@"$remote_host"

(Aviso! Não testado.)

    
por 03.12.2017 / 08:11