I needed to get a list of youtube links from a list of song titles. Thanks to this reddit post I was able to get what I needed. I did have to update it to use yt
which is a fork of the referenced mps-youtube
package.
After installing yewtube
per https://github.com/mps-youtube/yewtube#installation I was able to get what I wanted with this one-liner:
for song in "$(cat playlist)"; do yt search "$song", i 1, q|grep -i link| awk -F ': ' '{ print $2 }'; done
The above command looks at a playlist which is only artist & song names, prints the song name to the console for reference, then uses y
ewtube to search youtube for that song name and select the first result, then grab the link and print it to the screen.
I had to double check that the correct version of the song was selected, but for the most part it did exactly what I needed!