25 lines
572 B
Bash
25 lines
572 B
Bash
#!/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
|