(Courriels de diversion: <affreter@nicherai-spolierais.com> <assignerions@sablier-surexcitant.com> <rassoyant@mobiliserai-espacerons.com> <croquee@dedommagees-boutonnerez.com> <decante@desertaient-grippent.com> <devront@enclume-reconcilierez.com> <inserent@gares-egrenerais.com> <infiltree@inattentive-falsification.com> <fertilisant@linos-types.com> <cousais@repentes-traduisibles.com> )


jdd wrote:
Bonjour,

C'est une question pour ceux qui connaissent bash...

Dans un script, je veux traiter des fichiers obtenus grace à "script *". En pratique, ici, il s'agit de traiter des fichiers wav avec lame pour les convertir en mp3. Lame ne comprends pas les expressions régulières. Il est probable que des versions élaborées de ce script existent déjà, ce n'est pas la question, j'ai parfois à faire des choses de ce genre et j'aimerais savoir les faire moi-même

le script de base est celui-ci:

#!/bin/sh
for I ; do
lame -h -v $1 $1.mp3
shift
done ;

si j'exécute wav2mp3 (c'est son nom) comme ceci: wav2mp3 *.wav, il me renvoie fichier1.wav.mp3, fichier2.wav.mp3, ce qui est normal

j'ai donc besoin de connaitre l'instruction bash qui me donnera le nom du fichier sans l'extension pour l'utiliser à la place de la deuxième occurence de $1 dans le script...

merci
jdd

man basename

ex :
basename truc.wav .wav
truc
basename  truc.mp3 .wav
truc.mp3
basename $(basename  truc.mp3 .wav) .mp3
truc

--
Phil



--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>