diff --git a/hidedoubles.sh b/hidedoubles.sh new file mode 100755 index 0000000..250f20a --- /dev/null +++ b/hidedoubles.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +if [ -z "$1" -o "$1" == "--help" -o "$1" == "-h" ]; then + cat < /dev/null; then + qi="${i//\'/$q}" + echo "mv -i '$qi' '${qi%/*}/.%${qi##*/}' # '${orig//\'/$q}'" + fi + done + fi + + unset supprimable + orig="" + n=0 + fi + + if [ "${nom#$1}" != "$nom" ]; then + supprimable[n]="$nom" + n=$(($n+1)) + else + orig="$nom" + fi + + oldsum="$sum" +done diff --git a/pseudo-empty-dirs.sh b/pseudo-empty-dirs.sh new file mode 100755 index 0000000..67eec0d --- /dev/null +++ b/pseudo-empty-dirs.sh @@ -0,0 +1,32 @@ +#!/bin/zsh + +setopt dotglob + +dohide() { + local x pseudo_empty subdirs si + echo "[$1] $PWD" + cd "./$1" + pseudo_empty="1" + si=1 + subdirs=() + for x in *(N/); do + if [ "${x[0,2]}" != ".%" ]; then + subdirs[si]="$x" + si=$(($si+1)) + fi + done + while [ $si -gt 1 ]; do + si=$(($si-1)) + dohide "${subdirs[si]}" + done + for x in *(N); do + if [ "${x[0,2]}" != ".%" ]; then + pseudo_empty="0" + break; + fi + done + cd .. + [ "$pseudo_empty" = "1" ] && [ "${1[0,2]}" != ".%" ] && mv -i -- "$1" ".%$1" +} + +dohide . diff --git a/quickhash b/quickhash index cf1556c..fa869f1 100755 --- a/quickhash +++ b/quickhash @@ -1,12 +1,13 @@ #!/bin/sh find "$@" -type f -printf "%s %p\n" | while read ab; do - sum="$(printf %8.8x "${ab%% *}")" + sum="$(printf %16.16x "${ab%% *}")" nom="${ab#* }" mdsum="$(dd if="$nom" bs=512 count=1 2>/dev/null | md5sum 2>/dev/null)" mdsum="${mdsum%% *}" sum="$sum$mdsum" - if [ "${#sum}" != "40" ]; then + if [ "${#sum}" != "48" ]; then + echo "ERROR : $sum $nom" >&2 sum="0000000000000000000000000000000000000000" fi echo "$sum $nom" diff --git a/quickhash.py b/quickhash.py new file mode 100755 index 0000000..ee80402 --- /dev/null +++ b/quickhash.py @@ -0,0 +1,24 @@ +#!/usr/bin/python + +import hashlib; +import sys; + +for size in sys.stdin: + file = sys.stdin.next() + print "%16.16x%s" % (int(size), hashlib.md5(open(file[:-1], 'r').read(512)).hexdigest()), + print " " + file, + +#!/bin/sh +# +#find "$@" -type f -printf "%s %p\n" | while read ab; do +# sum="$(printf %16.16x "${ab%% *}")" +# nom="${ab#* }" +# mdsum="$(dd if="$nom" bs=512 count=1 2>/dev/null | md5sum 2>/dev/null)" +# mdsum="${mdsum%% *}" +# sum="$sum$mdsum" +# if [ "${#sum}" != "48" ]; then +# echo "ERROR : $sum $nom" >&2 +# sum="0000000000000000000000000000000000000000" +# fi +# echo "$sum $nom" +#done diff --git a/quickhash.py.sh b/quickhash.py.sh new file mode 100755 index 0000000..a677a7c --- /dev/null +++ b/quickhash.py.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +find "$@" -type f -printf "%s\n%p\n" | ./quickhash.py