Page 1 sur 1

[Script] Tags ID3 à partir du chemin

Publié : jeu. 20 août 2009, 11:12
par AddiKT1ve
Plop _o/

Je suis en train d'(essayer d')écrire un script qui remplit les tags ID3 de mes mp3 à partir de leur chemin, étant donné que ma musique est classée telle que ~/Musique/Artiste/Album/ (de manière générale).

Pour le moment je tente de le faire avec for :

Code : Tout sélectionner

for artiste in `ls ~/toast`; do for album in $(ls ~/toast/$artiste); do echo "$album"; done; done
Sachant que do echo "$album" sera remplacé par id3tool -r "$artiste" -a "$album" * évidemment :mrgreen:.

Malheureusement, la sortie est celle-ci :
2000
-
Holy
Thunderforce
(EP)
On a cherché avec mathieui et roOtix, et pas moyen de supprimer ces retours à la ligne :/.

Quelqu'un a une idée ?

Re: [Script] Tags ID3 à partir du chemin

Publié : jeu. 20 août 2009, 14:56
par benjarobin
De memoire tu peux le faire avec tr, regarde le man

Re: [Script] Tags ID3 à partir du chemin

Publié : jeu. 20 août 2009, 16:38
par benpro
un pipe de ton echo avec tr -d '\n\r'

Re: [Script] Tags ID3 à partir du chemin

Publié : ven. 21 août 2009, 14:18
par AddiKT1ve
Cela supprime tous les espaces :/
[addikt1ve@arch ~]$ ./tags.sh
2000-HolyThunderforce(EP)[addikt1ve@arch ~]$

Re: [Script] Tags ID3 à partir du chemin

Publié : ven. 21 août 2009, 14:33
par warnaud
Stratovarious \o/
Bon désolé mon commentaire aide pas trop par contre je suis intéressé aussi par ce script.

Re: [Script] Tags ID3 à partir du chemin

Publié : ven. 21 août 2009, 15:13
par chipster
Je peux essayer de le faire en Perl si vous le souhaitez mais il faudrait me donner plus d'explications même s'il y en a déjà pas mal ;)

Re: [Script] Tags ID3 à partir du chemin

Publié : ven. 21 août 2009, 15:28
par gyo
AddiKT1ve a écrit :Plop _o/
Hop

C'est tout con, faut mettre des "" autour de la commande à évaluer
Avant :

Code : Tout sélectionner

for artiste in `ls ~/toast`; do for album in $(ls ~/toast/$artiste); do echo "$album"; done; done
Après :

Code : Tout sélectionner

for artiste in `ls ~/toast`; do for album in "$(ls ~/toast/$artiste)"; do echo "$album"; done; done

Re: [Script] Tags ID3 à partir du chemin

Publié : ven. 21 août 2009, 17:36
par AddiKT1ve
Owned by gyo. Ça marche, merci homme à casquette :chinois:

Mais là je me rends compte que ça va manquer de flexibilité, quand même, non ?

Re: [Script] Tags ID3 à partir du chemin

Publié : sam. 22 août 2009, 00:33
par catwell
warnaud a écrit :Stratovarious \o/
Bon désolé mon commentaire aide pas trop par contre je suis intéressé aussi par ce script.
Pour encore moins aider : je pense que tu voulais dire Stratovarius, et que raté, c'est Rhapsody (of Fire, mais à l'époque Rhapsody tout court).

Re: [Script] Tags ID3 à partir du chemin

Publié : sam. 22 août 2009, 08:14
par CroK
Ce script est super intéressant, on peut l'utiliser aussi ? :D

Re: [Script] Tags ID3 à partir du chemin

Publié : sam. 22 août 2009, 10:16
par nowahn
gyo a écrit :C'est tout con, faut mettre des "" autour de la commande à évaluer
...

Code : Tout sélectionner

for artiste in `ls ~/toast`; do for album in "$(ls ~/toast/$artiste)"; do echo "$album"; done; done
Heu, chez moi, ça marche pas tout à fait, ça fait une seule itération, avec tout dans une seule variable (avec des retours à la ligne à l'intérieur) :

Code : Tout sélectionner

$ for Titre in "$(ls /home/share/musique/Tunisiano\ -\ Le\ regard\ des\ gens/)" ; do echo ">>${Titre}<<" ; done
>>01 - Effet d'une bombe.mp3
02 - Equivoque.mp3
03 - Le regard des gens.mp3
04 - Dégouté.mp3
05 - Toucher mes rêves.mp3
06 - Nos rues.mp3
07 - Marlich.mp3
08 - Citoyen du monde.mp3
09 - Je porte plainte.mp3
10 - Musique je te haime.mp3
11 - On s'en fiche.mp3
12 - Qui es-tu.mp3
13 - Solitude.mp3
14 - Carte postale.mp3
15 - Ensemble.mp3
16 - Répondez-moi.mp3<<
Les >> et << encadrent le tout.

Moi, je fais comme ça :

Code : Tout sélectionner

OldIFS="${IFS}" ; IFS=$'\n' ; for Titre in $(ls -1 /home/share/musique/Tunisiano\ -\ Le\ regard\ des\ gens/) ; do echo ">>${Titre}<<" ; done ; IFS="${OldIFS}"
>>01 - Effet d'une bombe.mp3<<
>>02 - Equivoque.mp3<<
>>03 - Le regard des gens.mp3<<
>>04 - Dégouté.mp3<<
>>05 - Toucher mes rêves.mp3<<
>>06 - Nos rues.mp3<<
>>07 - Marlich.mp3<<
>>08 - Citoyen du monde.mp3<<
>>09 - Je porte plainte.mp3<<
>>10 - Musique je te haime.mp3<<
>>11 - On s'en fiche.mp3<<
>>12 - Qui es-tu.mp3<<
>>13 - Solitude.mp3<<
>>14 - Carte postale.mp3<<
>>15 - Ensemble.mp3<<
>>16 - Répondez-moi.mp3<<
Note : L'option de ls est -1 (le chiffre UN).

Re: [Script] Tags ID3 à partir du chemin

Publié : lun. 24 août 2009, 11:07
par gyo
Ah oui, le coup de l'IFS, bien joué nowhan :)