Forum général.général Classement de fichiers par nom

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
jan.
2005
Bonsoir,

Bonne année à tous les forumeurs d'abord !!!

Ensuite, la question. J'ai une floppée de fichiers MP3 nommés selon la logique suivante dans un même répertoire:

ARTISTE (ANNEE) - ALBUM - PISTE - TITRE.mp3
ARTISTE: Prénom Nom
ANNEE: 4 chiffres
ALBUM: Nom de l'album avec ou sans espaces
PISTE: 2 chiffres
TITRE: Nom de la chanson avec ou sans espaces

L'objectif est de placer le fichier de la manière suivante:

......music/ARTISTE/ALBUM/TITRE.mp3
et d'utiliser ensuite les infos de répertoire pour "tagguer" le fichier MP3 (mais ca je saurais le faire).

j'ai essayé plusieurs combinaisons avec find mais les espaces dans les noms ou autres erreurs ne passent pas. Je connais la base des regexp mais je suis pas un expert. Une idée ?

Merci
  • # essayons

    Posté par  (site web personnel) . Évalué à 8.

    for i in *.mp3
    do
    eval `echo "$i" | sed 's/(.*) \([^)]\) - ([^-]*) - .. - (.*).mp3/ARTISTE="\1";ALBUM="\2";TITRE="\3"/'`
    mkdir -p "$ARTISTE/$ALBUM"
    cp "$i" "$ARTISTE/$ALBUM/TITRE.mp3"
    done
    si tu est sur de toi tu peux remplacer cp par mv :)
    • [^] # Re: essayons

      Posté par  (site web personnel) . Évalué à 4.

      hum je viens de voir en repassant dans le coin qu'il manque un $ devant titre, ca serait dommage de toutes les renommer TITRE.mp3 :)
      • [^] # Re: essayons

        Posté par  (site web personnel) . Évalué à 3.

        J'avais réctifié :-) mais il y a une autre erreur, je chercherais demain. Merci en tout cas
    • [^] # Re: essayons

      Posté par  (site web personnel) . Évalué à 6.

      Remplacer la ligne 3 du script de Pascal par :

      eval `echo "$i" | sed -r 's/(.+) +\([0-9]{4}\) +- +(.+) +- +[0-9]{2} +- +(.+)\.mp3/ARTISTE="\1";ALBUM="\2";TITRE="\3"/'`

      j'ai testé à fond notamment avec une chaîne toute tordue contenant plein d'espaces pour l'artiste, l'album et/ou le titre et des traits d'union pour chacune des entités... Ça marche :)
      Si ça marche pas, je me pend :p
      • [^] # Re: essayons

        Posté par  (site web personnel) . Évalué à 3.

        Excellent, parfait, nickel, roxor, merci beaucoup tout plein !!!!! Plussoiement aux deux scripteurs.

        Maintenant, l'objectif est de comprendre la commande pour pouvoir refaire tout seul !!!!
  • # Commentaire supprimé

    Posté par  . Évalué à 0.

    Ce commentaire a été supprimé par l’équipe de modération.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.