Voici un programme en perl que j'utilise pour renommer des fichiers audio en fonction des informations disponibles dans le tag.
user@host:~$ renamemp3.pl
#!/usr/bin/perl # Role : Script Perl qui récupère les tags de fichiers audio et les renomes, utilise mediainfo # Auteur : http:#shebangthedolphins.net/ # Instructions : # - créer un dossier /tmp/MP3/ et y déplacer les mp3 à renommer # - créer un dossier /tmp/MP3/TRIE/ # 1.0 premiere version use strict; use File::Copy; no warnings; #évite les messages d'avertissement dans le cas ou un champ n'aurait pu être récupéré foreach my $i (`ls -1 /tmp/MP3/*mp3`) { chomp ($i); $i =~ s/\s/\\ /g; #convertit les espaces en "\ " my $MEDIA = `/usr/bin/mediainfo $i`; #stocke les infos tag dans $MEDIA my ($ARTIST) = ($MEDIA =~ m/Performer.*: (.*)/); #récupère le nom de l'artiste my ($ALBUM) = ($MEDIA =~ m/Album.*: (.*)/); #récupère le nom de l'artiste my ($TITRE) = ($MEDIA =~ m/Track name.*: (.*)/); #récupère le titre my ($NUM) = ($MEDIA =~ m/Track name\/Position.*: ([0-3]?[0-9])/); #récupère le numéro du titre printf "$ARTIST - $ALBUM - $NUM - $TITRE\n" if (defined($ARTIST)); #affiche le nom reformaté my ($NOM) = "$ARTIST - $ALBUM - $NUM - $TITRE.mp3"; #formatage du nom $i =~ s/\\ / /g; #re-convertit les espaces en " " (pour la fonction copy) copy("$i","/tmp/MP3/TRIE/$NOM"); #copie le fichier vers /tmp/MP3/TRIE/ avec son nouveau nom }
[toi@archtoi fr]$ ls -R /tmp/MP3/
/tmp/MP3/: '01 - Battery.mp3' '02 - Faded In The Morning.mp3' '1997 - The action is GO! - 07 - Trackside hoax.mp3' TRIE /tmp/MP3/TRIE: 'Fu Manchu - The action is Go - 7 - Trackside hoax.mp3' 'Metallica - Master of Puppets - 1 - Battery.mp3' 'Unknown Mortal Orchestra - Blue Record - 2 - Faded In The Morning.mp3'
Contact :