#!/bin/bash # Authored by Evuraan_AT_gmail_DOT_com # ABSOLUTELY NO WARRANTY, to the extent permitted by # applicable law. # YMMV. # Use at your own risk. user_name="mythtv" pass_word="yourpassword" RECORDINGDIR="/var/lib/mythtv/recordings" list="/tmp/recordings.txt-$RANDOM-$RANDOM" SQLSCRIPT="/tmp/recordings.sql-txt-$RANDOM-$RANDOM" gen_lists(){ mysql -u "$user_name" -p"$pass_word" -e "select starttime,basename,title,description from recorded order by starttime" mythconverg | tac > $list } verify_duplicate(){ # if verbatim repeats.. sum_a=$(egrep "${a:0:16}" $list | awk -F".mpg\t" 'NR>1 {print $NF}' |md5sum) [ ! -z "$sum_a" ] && egrep "${a:0:16}" $list | awk -F".mpg\t" 'END {print $NF}' | md5sum |egrep -q ${sum_a//-} } remove_duplicates(){ [ -s "${RECORDINGDIR}/${a}" ] && ( rm -v "${RECORDINGDIR}/${a}" ; echo "DELETE FROM mythconverg.recorded WHERE basename = '$a';" > $SQLSCRIPT ) [ -s $SQLSCRIPT ] && mysql -u "$user_name" -p"$pass_word" mythconverg < $SQLSCRIPT } gen_lists awk {'print $3'} $list |grep mpg$ | while read a ; do [[ $(egrep -c ${a:0:16} $list ) -ge 2 ]] && verify_duplicate && sed -i /"${a:0:16}"/d $list && echo $a is duplicate && remove_duplicates done rm $SQLSCRIPT $list 1>/dev/null 2>&1 || :