Bonsoir momo,
Le petit script ci-dessous trie les fichiers d'un répertoire
aléatoirement puis leur ajoute un numéro croissant:
#!/bin/sh
if [ $# -lt 1 ] || [ ! -d $1 ]; then echo "Usage: `basename $0` dossier"
; exit ; fi
cpt=1
for file in `ls $1 | shuf` ; do
mv $1/${file} $1/${cpt}_${file}
cpt=`echo $cpt+1 | bc`
done
On peut améliorer en rajoutant des zéros de padding pour aligner à
droite les numéros croissants:
#!/bin/sh
if [ $# -lt 1 ] || [ ! -d $1 ]; then echo "Usage: `basename $0` dossier"
; exit ; fi
cpt=1
cptmax=`ls $1 | wc -l`
for file in `ls $1 | shuf` ; do
nb=`echo ${#cptmax}-${#cpt} | bc`
zeros=""
while [ $nb -gt 0 ] ; do
zeros=$zeros"0"
nb=`echo nb-1 | bc`
done
mv $1/${file} $1/${zeros}${cpt}_${file}
cpt=`echo $cpt+1 | bc`
done
Si le dossier passé en argument contient les fichiers:
file1.txt
file2.mp3
file3.odt
ils sont renommés par exemple:
1_file3.odt
2_file1.txt
3_file2.mp3
-Sylvain
On 25/01/2013 17:56, jdd wrote:
for I in *.jpg ; do
ran=-$RANDOM ;
rename -- "." "$ran." $I
done
là j'ajoute une valeur random au nom de fichier pour empécher les robots
de deviner trop facilement les noms. C'est facile de mettre le $ran en
début de nom pour avoir le tri, je fais ca pour un cadre photo
jdd
_______________________________________________
Toulouse-ll mailing list
Toulouse-ll@toulibre.org
http://toulibre.org/cgi-bin/mailman/listinfo/toulouse-ll