summaryrefslogtreecommitdiff
path: root/bin/data_double.sh
diff options
context:
space:
mode:
authorHorus32014-05-04 23:36:14 +0200
committerHorus32014-05-04 23:36:14 +0200
commit5cc26b20de7b64faf010f389f297777a365f557b (patch)
treea7356865e06057f78bd47f3df4ad779528c89614 /bin/data_double.sh
parentf060617d9a33f5a75259edda6c22574a8d8d9df9 (diff)
downloaddotfiles-5cc26b20de7b64faf010f389f297777a365f557b.tar.gz
Used to find the filesize of all duplicates found with duplicate.sh.
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