Commande pour renommer des fichiers

Bonjour à tous

j'ai dans un répertoire plus de 5000 images que je dois renommer. j'ai testé plusieurs commandes trouvées sur le site mais aucune n'arrive à faire ce que je veux.

mes images sont de la forme :

t_hdjkshdkjqsdhkjq.jpg


et je voudrais que ça devienne:

t_picture_hdjkshdkjqsdhkjq.jpg


Merci à tous et joyeuses fêtes

5 réponses

  1. Contributeur
    Salut,

    C'est quoi la distrib' de ton linux?
    0
    1. Modérateur
      Salut,

      T'as pas trouvé ton bonheur là ou là ?
      0
      1. Essayer cette commande , d'abord sur des fichiers test !

        $ for i in t_hdj*; do mv $i' echo $i | sed */ hdj*/s//t_picture_hdjkshdkjqsdhkjq.jpg/"'

        Sans aucune garantie.......:o(
        0
        1. Modérateur
          Sans aucune garantie
          C'est le moins qu'on puisse dire ;-((

          Elle est pleine d'incohérences ta syntaxe...

          for i in t_hdj*
          le point commun c'est plus l'extension que le nom, donc mieux vaudrait : for i in *.jpg, non ?

          do mv $i' echo $i
          Si tu ne mets pas d'espace entre les 2 variables c'est pas gagné et de plus de simple quote ne suffisent pas à exécuter la commande ;-\
          do mv ${i} $(echo ...)

          sed */ hdj*/
          Inutile de mettre un motif puisque c'est tous les fichiers correspondant au "for i in ..." qui vont être parsés. De plus attention quand tu donnes une syntaxe, ton 1er guillemet est en fait une étoile ;-(

          s//t_picture_hdjkshdkjqsdhkjq.jpg/"'
          Là à la fin tu n'auras plus qu'un seul fichier dans le répertoire ;-(((
          sed 's/\(t_\)\(.*\)/\1picture-\2/'

          Un simple :
          for i in *.jpg; do mv ${i} ${i/t_/t_picture_}; done
          devrait suffire ;-))
          0
      2. Contributeur
        bonjour,
        tu utilises digikam avec les plugins renome en masse c'est au poil
        sinon xnview mais en anglais tres rapide
        a+
        0