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.)