[gull] Petit pb shell
Félix Hauri
felix at f-hauri.ch
Wed Nov 12 21:46:01 CET 2003
On Wed, 12 Nov 2003, Eric Piollet wrote:
> Je recherche des images sur un Disk Dur et j'aimerais copier celles ci dans
> un répertoire donné .
> J'ai du mal à trouver la bonne commande avec find & cp
Tu veux une réponse longue?
#!/bin/sh
export srcpath=${1:-.}
export dstpath=${2:-/tmp/tempimages}
declare -i i
export i fnbody fname file
mkdir -p $dstpath
find $srcpath -type f -print | \
while read file;do
if file "$file" | \
tr A-Z a-z | \
grep -q '\(jpe?g\|gif\|png\|p[pbng]m\|tif+\|gimp\|gem\).*image data'
then
fname="$(basename $file)"
if [ ! -f "$dstpath/$fname" ] ;then
cp -v "$file" "$dstpath/$fname"
else
fnbody="${fname%.*}"
fnext="${fname##*.}"
i=1
[ ${#fnbody} -lt 1 ] && \
fnbody=_image
while :;do
if [ -f "$dstpath/${fnbody}_$i.$fnext" ] ;then
echo -n "B"
i=i+1
else
echo -n "REN:"
cp -v "$file" "$dstpath/${fnbody}_$i.$fnext"
break
fi
done
fi
fi
done
# Ça défoule!
#
# Reste à éliminer les doublons
# voire les commandes md5sum et cmp...
--
Félix Hauri - <felix at f-hauri.ch> - http://www.f-hauri.ch
More information about the gull
mailing list