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

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


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 ## 

Motif pour un tel script: parfois les albums que je reçois sont des .rar ou
..zip contenant non pas des mp3, mais des fichiers .flac, avec en plus des
noms\ à\ espacemenets\ .flac

Méthode concluante Philippe, merci bien. Vais essayer de l'appliquer partout
où ce sera nécessaire/possible.

Aldo. 

-- 

   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/