View previous topic :: View next topic |
Author |
Message |
Arvernux n00b
Joined: 20 May 2005 Posts: 30 Location: Loire, France
|
Posted: Sat Jan 14, 2006 7:29 pm Post subject: [SCRIPT] attention couleur avec ls |
|
|
Salut à tous,
Récemment, j'ai voulu écrire un petit bout de script en ligne pour compresser des fichiers :
Code: | for fichier in `ls *.wav`; do
lame ${fichier} ${fichier/.wav/.mp3};
done; |
Eh bien, mon grand étonnement, ça ne fonctionnait pas. J'avais un retour d'erreur comme quoi "lame" ne trouvait pas le fichier.
Si je remplaçait "lame" par "echo" ça fonctionnait.
J'ai trouvé le problème par intuition... J'ai configuré "ls" pour afficher de la couleur. Or les caractères insérés pour coder la couleur dans bash ne sont pas interprétés sur la ligne de commande de "lame".
Solution : enlever la couleur.
Code: | for fichier in `ls --color=none *.wav`; do
lame ${fichier} ${fichier/.wav/.mp3};
done; |
Eh hop, tout est impeccable !
À plus. _________________ Arvernux's boxes
Core i7 ; 12Go ; Nvidia GeForce 210
XP2500+ ; 512Mo ; NVidia GeForce 6200
portable targa visionnary XP2400
Comité de lutte contre le langage sms et les fautes volontaires
Last edited by Arvernux on Sat Jan 14, 2006 9:15 pm; edited 2 times in total |
|
Back to top |
|
|
SnowBear l33t
Joined: 03 Sep 2005 Posts: 773 Location: France - Bordeaux
|
Posted: Sat Jan 14, 2006 8:15 pm Post subject: |
|
|
Salut,
il y'a plus simple et plus logique je trouve
Code: | for i in *.wav; do
lame $i "`basename "$i" .wav`.mp3"
done |
|
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Sat Jan 14, 2006 8:47 pm Post subject: |
|
|
Ouaip, enfin, il reste que la convention pour les titres, ça marche aussi dans le forum Doc & Astuce,
donc ce serait sympa si tu le changeais pour qu'il soit conforme, et au passage plus explicite (genre préciser sur le traitement du code de couleur etc...)
Dans tous les cas, même si l'astuce dans le cas présent n'était pas nécessaire parce que ce n'était pas la méthode la plus simple pour le coder, elle reste utile (comme toute astuce d'ailleurs) pour les situations où on serait obliger d'utiliser les ` `...
Merci, si jamais ça m'arrive j'y penserais comme ça |
|
Back to top |
|
|
Arvernux n00b
Joined: 20 May 2005 Posts: 30 Location: Loire, France
|
Posted: Sat Jan 14, 2006 9:10 pm Post subject: |
|
|
Désolé si mon post manque de pertinence.... Je ne suis pas un expert en script bash, mais comme ce problème m'a coincé une demi heure, je m'étais dit que je pourrais peut-être éviter la même désaventure à d'autres.
Comme je n'ai pas réussi à trouver un cours appliqué et utilisable sur les scripts, je ne connaissais même pas la possibilité de faire ce qu'il a dans ton code SnowBear.
kopp, si tu pouvais me faire une proposition pour le titre, j'apprécierais. _________________ Arvernux's boxes
Core i7 ; 12Go ; Nvidia GeForce 210
XP2500+ ; 512Mo ; NVidia GeForce 6200
portable targa visionnary XP2400
Comité de lutte contre le langage sms et les fautes volontaires |
|
Back to top |
|
|
SnowBear l33t
Joined: 03 Sep 2005 Posts: 773 Location: France - Bordeaux
|
Posted: Sat Jan 14, 2006 9:23 pm Post subject: |
|
|
Néanmoins le plus important c'est d'arriver à trouver une solution à ton problème,
ce que tu as fait |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Jan 14, 2006 9:46 pm Post subject: |
|
|
Tu peux modifier ton alias ls comme ça :
Code: | alias ls="ls --color=auto" |
Ca ne mettra les couleurs qu'en cas de sortie vers le terminal.
Last edited by geekounet on Tue Jan 17, 2006 12:44 am; edited 1 time in total |
|
Back to top |
|
|
Arvernux n00b
Joined: 20 May 2005 Posts: 30 Location: Loire, France
|
|
Back to top |
|
|
|