#!/bin/sh DATFILE="~/.config/youtube/dat" CACHEDIR="~/.config/youtube/cache" tmp1=$(mktemp) tmp2=$(mktemp) touch $DATFILE mkdir -p $CACHEDIR sync () { for i in $(cat $DATFILE | tr '\n' ' '); do curl -s \ https://www.youtube.com/feeds/videos.xml?channel_id=$i\ > ${CACHEDIR}/$i done } display () { for i in $(ls $CACHEDIR | tr '\n' ' '); do grep \ ${CACHEDIR}/$i | cut -c 17- | \ rev | cut -c 15- | rev >> $tmp1 grep 'link rel' ${CACHEDIR}/$i | grep 'watch' | \ cut -c31- | rev | cut -c4- | rev >> $tmp2 done cat $tmp1 $tmp2 | pr -2t -s" | " } add () { # $1: name of channel id printf "%s\n" $1 >> $DATFILE } del () { # $1: line number of channel id sed -i "${1}d" $DATFILE } case $1 in *"sync"*) sync ;; *"add"*) [ $# -eq 2 ] && add $2 ;; *"del"*) [ $# -eq 2 ] && del $2 ;; *) display ;; esac exit 0