[Linux-31] encore un problème bash

jdd jdd at dodin.org
Dim 6 Avr 17:47:24 CEST 2014


Je suis en train de terminer un script bash cité ici:

http://dodin.info/wiki/index.php?n=Photo.CharliesPageDevs#sPhoto.CharliesPageDevs_8

la ligne clé est

   b="${a%.*}"

j'ai trouvé ca sur le net pour supprimer l'extension d'un nom de fichier, même 
au cas ou il y a plusieurs "." dans le nom. Ca marche, mais la lecture de la 
page de man de bash ne m'a qu'un peu éclairé sur le fonctionnement. Si 
quelqu'un pouvait m'expliquer ca en langage clair :-)) merci :-)

mais également un autre problème

Je voudrais que la première ligne exécutée soit celle de detox:

  detox -s utf_8 $a

mais si je le met dans le script, detox change les noms de fichiers (c'est son 
travail). Comment relire le répertoire pour réinitialiser la variable a?

on passe l'extension du fichier en paramètre du script, et bash renvoie en 
ligne de commande l'ensemble des fichiers ayant cette extension.

je peux faire ca avec trois scripts (un pour detox, un pour convert et un 
troisième pour chainer les deux, mais c'est bien compliqué :-(

merci
jdd



Plus d'informations sur la liste de diffusion Linux-31