annotate scripts/duplicates.sh @ 115:404795616b1e default tip

Added a lot of common files to ignore
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sat, 25 Mar 2017 17:43:57 +0100
parents 3951f6d27219
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
97
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
1 #!/bin/bash
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
2
112
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
3 STRIP=false
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
4
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
5 BASEDIR=$(dirname $0)
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
6
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
7 while getopts 's' val
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
8 do
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
9 case $val in
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
10 s) STRIP=true ;;
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
11 ?) exit 1;
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
12 esac
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
13 done
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
14 let nopts=OPTIND-1
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
15 shift ${nopts}
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
16
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
17
97
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
18 PREFIX=$1
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
19
112
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
20 if [[ ${PREFIX} != /* ]]
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
21 then
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
22 PREFIX=$(canonicalize ${PREFIX})
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
23 fi
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
24 if [[ ${PREFIX} == *\. ]]
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
25 then
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
26 PREFIX=${PREFIX::-1}
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
27 fi
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
28
97
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
29 if [ -n "$PREFIX" ]
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
30 then
110
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
31 SEDPREFIX=$(echo $PREFIX | sed -e 's/\//\\\//g')
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
32 SQLPREFIX=$(echo $PREFIX | sed -e "s/'/''/g")
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
33
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
34 PREFIX="WHERE path LIKE '${SQLPREFIX}%'"
97
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
35 fi
34f11b2a1178 Script to extract duplicates directly to the commandline.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
36
112
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
37 . ${BASEDIR}/STATEMENTS
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
38
110
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
39 if ${STRIP}
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
40 then
112
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
41 sqlite3 ~/.DeDupe.sqlite "${SELECT_STATEMENT}" | sed "s/|${SEDPREFIX}/|/"
110
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
42 else
112
3951f6d27219 Add various useful scripts. Refactor out SQL-statements.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 110
diff changeset
43 sqlite3 ~/.DeDupe.sqlite "${SELECT_STATEMENT}"
110
bae09ef524cb Fixes escaping problem in SQL.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 103
diff changeset
44 fi