diff options
| author | Horus3 | 2014-05-04 23:36:14 +0200 |
|---|---|---|
| committer | Horus3 | 2014-05-04 23:36:14 +0200 |
| commit | 5cc26b20de7b64faf010f389f297777a365f557b (patch) | |
| tree | a7356865e06057f78bd47f3df4ad779528c89614 /bin/data_double.sh | |
| parent | f060617d9a33f5a75259edda6c22574a8d8d9df9 (diff) | |
| download | dotfiles-5cc26b20de7b64faf010f389f297777a365f557b.tar.gz | |
Used to find the filesize of all duplicates found with duplicate.sh.
Diffstat (limited to 'bin/data_double.sh')
| -rwxr-xr-x | bin/data_double.sh | 70 |
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 |
