Différences

Ci-dessous, les différences entre deux révisions de la page.


Révision précédente
pratique:informatique:renom_lucio [30/11/2020 10:36] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== Renommer un lot de lucios sous Ryzom ======
 +Ryzom enregistre les screenshots pris en jeu d'une façon très simple : ''screenshotX.tga'' (si vous avez choisi l'option tga, qui est la meilleure qualité). Le X, c'est un chiffre, qui s'incrémente à chaque fois dans le dossier. Problème si vous avez plusieurs ordis, ou que vous vider les dossiers dans d'autres : vous vous retrouver avec plusieurs ''screenshot001.tga''.
  
 +Un petit script pour améliorer ça :
 +<file>
 +#!/bin/sh
 +racine=`pwd`;
 +for dossier in $(find -type d); do
 +cd $dossier;
 +    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
 +    cd $racine;
 +done
 +
 +</file>
 +
 +Enregistrer ça dans un fichier nommé ''renom.sh'' (par exemple), executable. Il suffit ensuite de se mettre dans le repertoire et de faire
 +
 +  sh ./renom.sh
 +  
 +Oui oui, vous savez, mais moi j'oublie même ça :D
 +
 +Pour détailler un peu :
 +  for name in $(find screenshot*); do
 +permet de ne sélectionner 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 :)
 +
 +Et il y a une boucle pour que ça fonctionne de façon récursive. Par contre ça bloque si les dossiers ont des espaces dans leur nom. La solution simple ? Renommer sans espace [[no_espace|grâce à ce script]] créé par Yannk.
 +
 +Merci à Glorf qui m'a aidé à écrire ça !
CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki