Skip to content

Instantly share code, notes, and snippets.

@manero6
Last active September 28, 2023 15:42
Show Gist options
  • Save manero6/f11437a3a267b6b8e68476e6334c4cdc to your computer and use it in GitHub Desktop.
Save manero6/f11437a3a267b6b8e68476e6334c4cdc to your computer and use it in GitHub Desktop.
download with yt-dlp in a new directory that gets its name from the last part of the given URL
#!/bin/bash
ROOT_DIRECTORY=`basename "$(pwd)"`
ARGUMENTS_NR=$#
ARGUMENTS=$@
yt-dlp-mkdir () {
for i in $ARGUMENTS
do
declare -a DIRECTORY="(`basename $i | tr "-" " "`)"
DIRECTORY="${DIRECTORY[@]^}"
mkdir "$DIRECTORY" && echo "=> Folder '$DIRECTORY' created under '$ROOT_DIRECTORY'"
cd "$DIRECTORY" && echo "=> Moved to '$DIRECTORY'"
yt-dlp -o '%(playlist_index)02d %(title)s.%(ext)s' $i && echo "=> '$DIRECTORY' downloaded!"
cd .. && echo "=> Moved back to '$ROOT_DIRECTORY'"
done && echo "=> Done!"
}
main () {
if test $ARGUMENTS_NR != 0
then yt-dlp-mkdir
else echo "=> Please provide at least 1 URL!"
fi
}
main
@manero6
Copy link
Author

manero6 commented Sep 1, 2023

mkdir "My Stuff" && cd "My Stuff"
./yt-dlp.mkdir.sh https://example.com/bla-bla-bla https://example.com/best-album-imho https://example.com/bla-bla-bla-live-2018
=> Folder 'Bla Bla Bla' created under 'My Stuff'
=> Moved to 'Bla Bla Bla'
...
...yt-dlp output...
...
=> 'Bla Bla Bla' downloaded!
=> Moved back to 'My Stuff'
=> Folder 'Best Album IMHO' created under 'My Stuff'
=> Moved to 'Best Album IMHO'
...
...yt-dlp output...
...
=> 'Best Album IMHO' downloaded!
=> Moved back to 'My Stuff'
=> Folder 'Bla Bla Bla Live 2018' created under 'My Stuff'
=> Moved to 'Bla Bla Bla Live 2018'
...
...yt-dlp output...
...
=> 'Bla Bla Bla Live 2018' downloaded!
=> Moved back to 'My Stuff'
=> Done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment