Re: [Résolu]: Re: [CBLX] Bash: traiter des noms avec espaces...

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Autre détail.  Dans ce script, il n'est pas nécessaire de faire appel
à ls dans la boucle pour récupérer une liste de fichiers.  Bash
sait très bien faire ça tout seul.  Il devrait suffire d'écrire

for i in *.flac; do

dom

Philippe Delavalade wrote on Tue, Apr 29, 2014 at 05:54:11PM +0200
> Le mardi 29 avril à 14:51, Aldo a écrit :
> > Salut Phil,
> > 
> > ta méthode elle a parcontre bien fonctionné; voici plus bas:
> > 
> > On Sun, Apr 27, 2014 at 04:26:01PM +0200, Philippe Delavalade wrote:
> > > 
> > > Salut Aldo.
> > > 
> > > Utilise la variable IFS
> > > avec en début de script :
> > > oldifs=$IFS # on garde en mépoire la valeur par défaut
> > > IFS=$(echo -ne "\n\b") # on définit une nouvelle valeur
> > 
> > J'ai prédéfinit cela avant la fonction, qui de toute façon est appelée plus
> > bas, avant le exit (c'est un peu la coutume de prédéfinir toute fonction en
> > haut/en début de script, ainsi que la plupart du temps les variables;
> > ensutie la fin du script est la succession en quelques ligne de ce qu iest
> > "appelé"! 
> > 
> > > puis en fin de script tu rends la valeur initiale :
> > > 
> > > IFS=$oldifs
> > 
> > J'ai mis cela dans la toute dernière ligne de la fonction, avant que ça ne
> > resorte de la fonction.
> >  
> > > J'utilise beaucoup ça, donc je peux te dire que ça marche très bien 
> > Je confirme;
> > voici le scrip modifié:
> > 
> > #!/bin/bash
> > # All FLAC to MP3 (3)
> > oldifs=$IFS
> > IFS=$(echo -ne "\n\b") 
> > 
> > function allflactomp3 ()
> > {
> > clear
> > for i in `ls *.flac`
> > do
> > mplayer -vo null -ao pcm:file=$i.wav $i
> > lame -b 320 -h $i.wav $i.mp3
> > done
> > #for i in *.wav.mp3; do mv "$i" "${i/%.wav.mp3/.mp3}"; done
> > ls -mpF *.mp3 |more
> > IFS=$oldifs
> > }
> > allflactomp3
> > exit
> > ## fin du script ## 
> 
> Je n'aime pas ça :-) Je mettrais la ligne
> IFS=$oldifs
> juste avant le exit. De plus, les recommandations de Dom et d'Emmanuel sur
> le fait de quoter les variables est de toute manière fort judicieux et
> c'est recommandé un peu partout.
> 
> À+
> 
> -- 
> Ph. Delavalade
> 
> -- 
> 
>    CarrefourBLinuX MailingListe 
>    Pour obtenir de l'aide, envoyez le sujet  help  à: 
>    carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>    Archives: 
>    http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
> 

-- 

--

   CarrefourBLinuX MailingListe
   Pour obtenir de l'aide, envoyez le sujet  help  à:
   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives:
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/