Modifier nom de plusieurs fichiers

Résolu
Bonjour,

j'ai un dossier qui contient beaucoup de fichiers .mp3 et ils sont constitués de cette manière : "chanteur - titre.mp3". Mon but est de les nommer ainsi : "titre - chanteur.mp3". Mais je ne veux pas faire ça un par un !!
Je pense que la solution est avec le terminal (je suis sous Ubuntu 11.04).

Merci

8 réponses

  1. En effet, il faut que tu fasse un script bash pour ça.
    Va sur le site du zero pour apprendre ce langage car je ne le connais que trop peu.
    0
    1. Merci mais je n'ai pas trop envie d'apprendre un langage juste pour ça ^^

      S'il vous plaît, si quelqu'un connait ce langage, pourriez-vous me donner ce script ??
      Merci
      0
      1. 'lut,

        Si tu ne connais pas, apprends.
        Si tu veux tout sans rien avoir à faire, tu ne trouveras pas d'aide.
        0
        1. Non non mais attend, c'est pas comme si j'avais besoin de créer mon site où là je dois apprendre l'xHTML, le CSS, le Javascript, le PHP.... Là j'ai juste besoin d'un petit script qui va me servir (sûrement) une seule fois, alors je pense être en droit de demander de l'aide si j'en ai besoin !!
          0
          1. Cela t'empêche t'il de chercher un minimum ?
            Le bash te servira certainement + qu'une fois.
            Et quand on veut faire quelque chose, et qu'on ne sait pas le faire, 2 solutions : apprendre ou ne pas faire.
            Et vu que tu veux le faire, je ne vois qu'une seule solution ...
            0
          2. Contributeur
            Enfin là ce n'est pas le bout du monde de lui filer un coup de main pour un peu de bash... en plus ça permet à ceux qui, comme moi, n'y ont pas mis le nez depuis un peu de temps de réfléchir un peu...
            0
          3. Contributeur
            Kevin, j'ai besoin de changer une roue sur ma voiture, il faut impérativement que j'apprenne la mécanique ? Non, ben ici c'est pareil. Il a un besoin ponctuel, c'est totalement différent de ceux qui viennent ici avec leur idée de site web, et aucune volonté pour apprendre un langage (alors que leur besoin sera tout sauf ponctuel).
            0
        2. Contributeur
          0
          1. Excellent le lien, je ne le connaissais pas. Et hop hop , dans les favoris.
            0
        3. Merci mais comment séparer le nom de fichier en plusieurs chaînes ?? Mettre ces chaînes dans un array, quoi ?
          0
          1. Contributeur
            Affiches quelques exemples des différents noms de fichiers qu'on peut trouver dans ton dossier. (ls -1)
            0
          2. Contributeur
            Avec awk !
            0
          3. Par exemple : "Calogero - Yalla.mp3" et "Charlie Winston - Like A Hobo.mp3" et j'aimerais :
            "Yalla - Calogero.mp3" et "Like A Hobo - Charlie Winston.mp3".

            Voilà
            0
          4. Contributeur
            A adapter :

            $ ls -1
            Calogero - Yalla.mp3
            Charlie Winston - Like A Hobo.mp3
            
            $ ls -1 | sed 's/\([^-]*\) - \([^\.]*\)\(.*\)/\2 - \1\3/'
            Yalla - Calogero.mp3
            Like A Hobo - Charlie Winston.mp3

            ;-))
            0
          5. Et je dois bien indiquer le dossier, non ?? oO
            0
        4. Et 1 flémard de +, 1 !
          0
          1. Contributeur
            Heu tu abuses un peu là... tu lui conseilles d'apprendre le shell alors qu'il a juste un besoin temporaire, sachant aussi qu'une solution graphique lui conviendrait...

            Quant à l'insulter, je ne cautionne pas...
            0
          2. Merci HostOfSeraphim ^^
            0
        5. Merci beaucoup donc la solution est celle-ci :

          $ cd /répertoire/mes_musiques
          
          $ ls -1
          
          $ for i in *; do mv -v "${i}" "$(echo ${i} | sed 's/\([^-]*\) - \([^\.]*\)\(.*\)/\2 - \1\3/')";done


          Voilà !!
          Encore merci ! =D
          0