view scripts/dircompare.sh @ 112:3951f6d27219

Add various useful scripts. Refactor out SQL-statements.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Tue, 03 May 2016 02:20:07 +0200
parents
children
line wrap: on
line source

#!/bin/bash

PREFIX=$1


if [ -n "$PREFIX" ]
then
  SEDPREFIX=$(echo $PREFIX | sed -e 's/\//\\\//g')
  SQLPREFIX=$(echo $PREFIX | sed -e "s/'/''/g")

  PREFIX="WHERE path LIKE '${SQLPREFIX}%'"
fi

. $(dirname $0)/STATEMENTS

error=0

RES=$(sqlite3 ~/.DeDupe.sqlite "SELECT path FROM files WHERE path LIKE '$2%' AND ( checksum NOT IN (SELECT checksum FROM files WHERE path LIKE '$1%' AND checksum IS NOT NULL) OR checksum IS NULL) ;")
if [ -n "${RES}" ]
then
    echo "Not in $1" 
    error=1
    echo ${RES}
fi
RES=$(sqlite3 ~/.DeDupe.sqlite "SELECT path FROM files WHERE path LIKE '$1%' AND ( checksum NOT IN (SELECT checksum FROM files WHERE path LIKE '$2%' AND checksum IS NOT NULL) OR checksum IS NULL) ;")
if [ -n "${RES}" ]
then
    echo "Not in $2" 
    error=1
    echo "${RES}"
fi


exit $error