Mercurial > dedupe
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 111:9d9926a6011f | 112:3951f6d27219 |
|---|---|
| 1 #!/bin/bash | |
| 2 | |
| 3 PREFIX=$1 | |
| 4 | |
| 5 | |
| 6 if [ -n "$PREFIX" ] | |
| 7 then | |
| 8 SEDPREFIX=$(echo $PREFIX | sed -e 's/\//\\\//g') | |
| 9 SQLPREFIX=$(echo $PREFIX | sed -e "s/'/''/g") | |
| 10 | |
| 11 PREFIX="WHERE path LIKE '${SQLPREFIX}%'" | |
| 12 fi | |
| 13 | |
| 14 . $(dirname $0)/STATEMENTS | |
| 15 | |
| 16 error=0 | |
| 17 | |
| 18 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) ;") | |
| 19 if [ -n "${RES}" ] | |
| 20 then | |
| 21 echo "Not in $1" | |
| 22 error=1 | |
| 23 echo ${RES} | |
| 24 fi | |
| 25 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) ;") | |
| 26 if [ -n "${RES}" ] | |
| 27 then | |
| 28 echo "Not in $2" | |
| 29 error=1 | |
| 30 echo "${RES}" | |
| 31 fi | |
| 32 | |
| 33 | |
| 34 exit $error |
