#!/bin/sh while read -r resource do case "$resource" in *://*) case "$resource" in # remote *.m3u) file="$(curl -LO -w '%{filename_effective}' \ "$resource")" "$0" <"$file" >"$file".tar printf '%s.tar\n' "$file" ;; *) youtube-dl -f bestaudio "$resource" --id \ && youtube-dl --get-id "$resource" \ | xargs printf '%s.*\n' \ || curl -LO -w '%{filename_effective}' \ "$resource" ;; esac ;; *.m3u) "$0" <"$resource" >"$resource".tar printf '%s.tar\n' "$resource" ;; *) printf '%s\n' "$resource" ;; esac done | xargs tar c