在 ssh 服务器中,我可以使用 sftp 进行连接。在此服务器中,我有 m3u8 播放列表中列出的 mkv 文件列表。我想下载 mkv,但我想按照 m3u8 播放列表中的顺序下载。
如果我可以在 sftp 中使用 sh,我将能够执行以下操作:
while read line ; do
if [[ $path != "#"* ]] ; do
get $path
fi
done < playlist.m3u8
(if
下载前先测试该行是否为评论)
最后我喜欢做一些像-i
wget
's 选项的事情:
-我文件
--输入文件=文件
从本地或外部读取 URL文件。
那么,如何使用 sftp 按照 m3u 播放列表的顺序下载文件呢?
答案1
使用-b
:sftp -b
或sftp -b -
读取标准输入。批处理文件(或标准输入)应包含sftp
命令,例如get
.请参阅手册页了解详情。
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"
(警告!未经测试。)