TECHNICAL SUPPORT / WEB APPs BUGS


Changer le nommage des screenshots

Ça m'a pris plus de temps que prévu :D

Mais je crois être arrivé à faire un petit script pour le renommage. Je le partage pour ceux que ça intéresse :
#!/bin/sh
for name in $(find screenshot*); do
    newname="$(date -r $name +%y-%m-%d)_$(date +%H%M%S)_$(echo $name|sed "s/screenshot//")"
    mv $name $newname
done

Enregistrer ça dans un fichier nommé renom.sh (par exemple), executable.
Il suffit de se mettre dans le repertoire et de faire
sh ./renom.sh
dans un terminal.

Pour détailler un peu :
*      for name in $(find screenshot*); do
permet de ne selectionner que les fichiers commençant par "screenshot" (utile pour ne pas renommer dossiers, scripts, etc...)

*      date -r $name +%y-%m-%d
Va extraire la date de dernière modification du fichier. Sur les screenshots, c'est la date de création. Pratique. La date est formaté année-mois-jour.

*    $(date +%H%M%S)
C'est une sécurité qui est sans doute en trop, pour éviter d'avoir des renames semblables. Si le même jour, vous avez videz votre dossier screenshot (ou si vous avez deux clients), vous avez potentiellement deux screenshot0001.tga. Avec l'heure en seconde de l'execution du script, on a un chiffre qui différencie les deux, donc pas de risque d'écrasement.

*    $(echo $name|sed "s/screenshot//")"
on enlève le motif "screenshot" dans le nom :D (le nom est déjà assez long, même si très identifiable)

*    mv $name $newname
Va appliquer le renommage. Si vous avez peur des bêtises, vous pouvez faire plutot la commande
      cp $name ./rangement/$newname
ce qui copiera les fichiers renommés dans le dossier rangement, en laissant les originaux dans le dossier de base. Mais pensez à créer un dossier "rangement" avant sinon ça va râler :)


Tout ça concerne linux. C'est sans doute adaptable sur les autres OS mais ça dépasse largement mes compétences...

---

Plus d'histoires ici.
Show topic
Last visit Tuesday, 26 November 16:04:36 UTC
P_:G_:PLAYER

powered by ryzom-api