tys - scripts - random scripts
 (HTM) git clone https://git.parazyd.org/scripts
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       tys (858B)
       ---
            1 #!/bin/sh
            2 #
            3 # perform a search on youtube and return the best result (title + link)
            4 
            5 usage() {
            6     echo "`basename $0` [-htu] [-n <num>] <query>"
            7 
            8     test -z "$1" && return
            9 
           10     cat <<EOF
           11         -h : display this help
           12         -t : output titles only (default 'title - uri')
           13         -u : output uris only
           14         -n : print only <num> results (default: 3)
           15 EOF
           16 }
           17 
           18 num=10
           19 regex='^.*<a href="\(/watch[^"]*\)"[^>]*>\([^<]*\)</a>.*$'
           20 output='\2 - https://youtube.com\1'
           21 
           22 while getopts "hn:tu" OPT; do
           23     case  $OPT in
           24         n) num=$OPTARG;;
           25         t) output='\2';;
           26         u) output='http://youtube.com\1';;
           27         h) usage long; exit 0;;
           28         *) usage; exit 1;;
           29     esac
           30 done
           31 
           32 shift $((OPTIND - 1))
           33 
           34 query=$(echo $@ | tr ' ' '+')
           35 url="https://www.youtube.com/results?search_query=${query}"
           36 
           37 curl -k -s "$url" | sed -n "s,$regex,$output,p" | sed ${num}q