summaryrefslogtreecommitdiff
path: root/bin/data_double.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/data_double.sh')
-rwxr-xr-xbin/data_double.sh70
1 files changed, 0 insertions, 70 deletions
diff --git a/bin/data_double.sh b/bin/data_double.sh
deleted file mode 100755
index 655aff2..0000000
--- a/bin/data_double.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-
-# Example usage, find all doubles in all sub directory
-# for i in *; do if [ -d $i ]; then double.sh $i; fi; done
-#
-# To find duplicates in specific directory
-# double.sh /path/to/dir /path/to/other/dir ./relativ/path
-#
-# With zero paramater, the script uses the working diroctory.
-
-DATABASE="/tmp/double.db"
-DIR="./found_doubles"
-COUNT=0
-
-if [ $# -eq 0 ]; then
- LOOP=false
-else
- LOOP=true
-fi
-
-echo ""
-
-while true; do
-
- if [ $LOOP = true ]; then
- if [ ! -d "$1" ]; then
- echo "Can't chdir to $1."
- exit 1
- else
- echo "Changing directory to '$1'."
- cd "$1"
- shift
- fi
- else
- echo "Working in directory '$(pwd)'."
- fi
-
- sqlite3 $DATABASE "CREATE TABLE files (hash TEXT UNIQUE)"
- mkdir -p $DIR
- TMP=0
- for i in *; do
- if [ -f "$i" ]; then
- HASH=$(md5sum "$i" | awk '{ print $1 }')
- sqlite3 $DATABASE "INSERT INTO files VALUES ('$HASH')" 2>/dev/null
- if [ ! $? -eq 0 ]; then
- mv -v "$i" "$DIR"
- ((COUNT ++))
- ((TMP ++))
- fi
- fi
- done
-
- if [ $TMP -eq 0 ]; then
- rmdir $DIR
- fi
-
- if [ $LOOP = true ]; then
- sqlite3 $DATABASE "DROP TABLE files"
- echo ""
- else
- break
- fi
-
- if [ $# -eq 0 ]; then
- break;
- fi
-done
-
-echo "Found and moved $COUNT files to $DIR."
-rm -f $DATABASE