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