1 votes

renommer le fichier et enregistrer l'ancien et le nouveau nom dans le fichier de sortie

J'utilise

for i in *.jpg; do mv $i $(openssl rand -rand $i -hex 16).jpg; done

pour renommer les fichiers d'un répertoire.

Ce que j'ai besoin de faire, c'est de garder la trace du changement de nom de l'ancien au nouveau. Je voudrais donc produire un fichier texte ou csv.

Exemple de fichier de sortie csv ou txt :

old_name, new_name
1234.jpg, 0dd4e436bd9482e8e679fa471aaf9b0e.jpg

en ajoutant les

>>output_file 

o

| tee 

ne fonctionne pas pour moi dans ce boucle for.

2voto

Rachel Blackman Points 81
echo "old_name, new_name" > output_file.csv
for old in *.jpg; do 
  new=$(openssl rand -rand "$old" -hex 16).jpg
  echo "$old, $new" >> output_file.csv
  mv "$old" "$new"
done

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X