[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS]parametre de script



Le lundi 5 mars 2007 21:19, Remi Suinot a écrit :
> bonsoir à tous,
> je suis en train de faire un script, ou l'utilisateur passe en nom de
> fichier en entrée: ~/bin/convert.sh toto.rm
> j'ai utilisé ceci pour récupérer le nom du fichier sans l'extension:
> nom=`echo $1 | cut -d "." -f 1 `
> Ca marche, .... sauf quand je donne à manger ceci:
> ~/bin/convert.sh ./toto.rm
> là, c'est le bazard à cause du point au début!
> comment faire autrement que cut?
> Il y a certainement mieux à faire, mais je n'ai pas trouvé (pas assez
> cherché?)
>
> Merci de vos avis.
> Rémi.
>
> PS: le script converti du *.rm en *.mp3 sans passer par un fichier
> temporaire.

une solution spécifique à bash (je crois) : nom="${1%.*}"

(l'operateur % supprime le plus court suffixe correspondant au motif)

attention, un fichier sans extension te donnera des resultats bizarres, par 
exemple './toto.dir/tata' renverra './toto' Tu peux éviter ça en utilisant 
basename/dirname

une autre avec sed (même probleme) : nom=`echo "$1" | sed 's,\..*$,,g'`

si le fichier à toujours l'extension rm, tu peux aussi faire 
nom=`basename "$1" '.rm'`

-- 
Cédric Lucantis



Reply to: