Le but est d'éviter qu'il soit trop facile de deviner le nom de la photo, pour éviter qu'un simple script puisse toutes les télécharger sans autorisation.

En fait, il est plus simple d'ajouter le nombre aléatoire d'anonymisation dès la gestion des photos retouchées, comme ca, pour moi, le nom ne change plus (et les images sont faciles à retrouver).

C'est également à ce stade que je renomme les fichiers JPG en jpg et jpeg en jpg (utilisation de rename).

Attention, ce script ne gère que les fichiers jpg. Il arrive que des fichiers pdf ou png existent dans le répertoire, il faut gérer ça à la main.

Le script

#!/bin/sh
# usage: se placer dans le répertoire
#lancer "sh ran-jpg.sh"
#On se retrouve avec les fichiers anonymisés et normalisés

for I in *.jpeg ; do
	rename "jpeg" "jpg" $I ;
done

for I in *.JPG ; do
	rename "JPG" "jpg" $I ;
done

for I in *.jpg ; do
	ran="-$RANDOM"
	rename  "." "$ran." $I
done

Plusieurs niveaux

Le script ci-dessus doit être exécuté dans le répertoire où se trouvent les images.

Si vous avez beaucoup de répertoires à traiter en même temps, vous pouvez utiliser d-ran.sh:

#!/bin/sh
for j in */ ;  do
echo $j
cd $j
sh ran-jpg.sh
cd ..
done

Pour traiter une année d'un coup, on peut avoir à utiliser d-d-ran.sh:

#!/bin/sh
for k in */ ; do
	echo $k
	cd $k
	for j in */ ;  do
		echo $j
		cd $j
		sh ran-jpg.sh
		cd ..
	done
	cd ..
done