Commande linux pour renommer fichiers.

Bonjour,

j'ai plus de 200 fichiers à renommer sous linux. ils ont des nom sous cette forme :

001 BA REV.flv
002 BA REV.flv
...
010 BA REV.flv
098 BA REV.flv
100 BA REV.flv
150 BA REV.flv
....
200 BA REV.flv

voila il y a tous les cas possibles.

Moi je veux supprimer la partie " BA REV" , et ajouter devant le nom de chaque fichier " DAVD-" , de sorte à avoir cela :

DVD-001.flv
DVD-002.flv
...
DVD-010.flv
DVD-098.flv
DVD-100.flv
DVD-150.flv
....
DVD-200.flv

J'aimerai faire ça sur linux.

merci d'avance.
Configuration: Windows XP
Firefox 3.0.10

16 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut pour renommer les fichiers sous linux:
    mv nom du fichier à modiifier le nouveau nom
    1. Modérateur
      Salut,
      ssh$ ls -1
      001 BA REV.flv
      002 BA REV.flv
      015 BA REV.flv
      167 BA REV.flv
      200 BA REV.flv
      89 BA REV.flv
      
      ssh$ while read line ; do mv "${line}" "DVD-${line%% *}.flv" ; done < <(ls -1)
      
      ssh$ ls -1
      DVD-001.flv
      DVD-002.flv
      DVD-015.flv
      DVD-167.flv
      DVD-200.flv
      DVD-89.flv
      
      ssh$
      ;-))
      1. merci pour les reponses. Je viens de tester la solution de jipicy qui devrait marcher , mais j'ai pas réussi :s. donc je suis partit dans le repertoire ou y a tous mes fichiers(video) , j'ai tappé : while read line ; do mv "${line}" "DVD-${line%% *}.flv" ; done <

        rien ne se passe. c'est possible sinon de les mettre dans un nouveau repertoire?
        1. J'ai essayé ça : while read line ; do mv "${line}" "DVD-${line%% *}.flv" ; done < <(ls -1)
          il me dit : mv cannot move "001 BA REV.flv" to " DVD-001 BA REV.flv%% *}.flv ' : no such file ...
          1. Personne n'a une idée dou pourrait venir l'erreur :s?
            Je suis obliger de faire ça sous linux pour éviter d'importer toutes les video pour les renommer avec un logiciel ou script PHP :s:s:s
            1. J'ai réussi à ajouter le DVD- devant chaque nom de fichiers , mais pas à supprimer BA REV
              1. Modérateur
                Dans un terminal, tapes :
                var="001 BA REV.flv"
                echo ${var%% *}
                et copie/colle le résultat s'il te plaît, merci.
                1. Rien ne se passe.

                  J'ai tout tappé sur la meme ligne :

                  var="001 BA REV.flv"
                  echo ${var%% *}

                  ça clignote ...

                  ps : je travail sur Cygwin , mais à chaque mois que vous m'avaez aidé(cin , karine etc ), ça a marché :D
                  1. Modérateur
                    Essaye comme ça alors :
                    var="001 BA REV.flv" ; echo ${var%% *}
                    1. Je viens de rééssayé avec la commande du début , ça marche bien normalement. j'avai mal tappé la commande je pense ...

                      merci bcp
                      1. Modérateur
                        Ok, donc à quoi ressemble le nom de tes fichiers depuis ta dernière manip ?