bonsoir =E0 tous,
je suis en train de faire un script, ou l'utilisateur passe en nom de fichi=
er en entr=E9e:
~/bin/convert.sh toto.rm
j'ai utilis=E9 ceci pour r=E9cup=E9rer le nom du fichier sans l'extension:
nom=3D`echo $1 | cut -d "." -f 1 `
Ca marche, .... sauf quand je donne =E0 manger ceci:
~/bin/convert.sh ./toto.rm
l=E0, c'est le bazard =E0 cause du point au d=E9but!
comment faire autrement que cut?
Il y a certainement mieux =E0 faire, mais je n'ai pas trouv=E9 (pas assez c=
herch=E9?)
Merci de vos avis.
R=E9mi.
PS: le script converti du *.rm en *.mp3 sans passer par un fichier temporai=
re.
--=20
Merci de m'avoir lu jusqu'ici, longue Vie et Prosperite.
http://www.suinot.org
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Serge Cavailles
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit :
bonsoir à tous,
Bonjour,
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é?)
Pourquoi ne pas utiliser un autre délimiteur que le point?
-- Serge
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit :
bonsoir à tous,
Bonjour,
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é?)
Pourquoi ne pas utiliser un autre délimiteur que le point?
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit :
bonsoir à tous,
Bonjour,
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é?)
Pourquoi ne pas utiliser un autre délimiteur que le point?
-- Serge
Cédric Lucantis
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 utilis ant 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
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 utilis ant
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'`
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 utilis ant 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
Remi Suinot
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles <debserg contenait:
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit : > bonsoir à tous, Bonjour,
> 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'extensi on: > 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 ass ez > cherché?) Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car si je passe autre chose que du rm, seule le point sera toujours là.
Rémi.
-- Merci de m'avoir lu jusqu'ici, longue Vie et Prosperite. http://www.suinot.org
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles <debserg e@free.fr> contenait:
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit :
> bonsoir à tous,
Bonjour,
> 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'extensi on:
> 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 ass ez
> cherché?)
Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car
si je passe autre chose que du rm, seule le point sera toujours là.
Rémi.
--
Merci de m'avoir lu jusqu'ici, longue Vie et Prosperite.
http://www.suinot.org
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles <debserg contenait:
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit : > bonsoir à tous, Bonjour,
> 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'extensi on: > 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 ass ez > cherché?) Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car si je passe autre chose que du rm, seule le point sera toujours là.
Rémi.
-- Merci de m'avoir lu jusqu'ici, longue Vie et Prosperite. http://www.suinot.org
Jean-Michel OLTRA
Bonjour,
Le lundi 05 mars 2007, Remi Suinot a écrit...
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?
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Bonjour,
Le lundi 05 mars 2007, Remi Suinot a écrit...
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?
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
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?
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Serge Cavailles
Le Lundi 05 Mars 2007 21:30, Remi Suinot a écrit :
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles
contenait:
> Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car si je passe autre chose que du rm, seule le point sera toujours là.
Oups, je m'en suis rendu compte de ma bétise le temps que le mail rentre :P
On peut supprimer un éventuel point en début de nom avec sed, avant le cut.
sed 's/^.//'
-- Serge
Le Lundi 05 Mars 2007 21:30, Remi Suinot a écrit :
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles
<debserge@free.fr> contenait:
> Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car
si je passe autre chose que du rm, seule le point sera toujours là.
Oups, je m'en suis rendu compte de ma bétise le temps que le mail rentre :P
On peut supprimer un éventuel point en début de nom avec sed, avant le cut.
Le Lundi 05 Mars 2007 21:30, Remi Suinot a écrit :
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles
contenait:
> Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car si je passe autre chose que du rm, seule le point sera toujours là.
Oups, je m'en suis rendu compte de ma bétise le temps que le mail rentre :P
On peut supprimer un éventuel point en début de nom avec sed, avant le cut.
sed 's/^.//'
-- Serge
Jacques L'helgoualc'h
Cédric Lucantis a écrit, lundi 5 mars 2007, à 21:36 :
Le lundi 5 mars 2007 21:19, Remi Suinot a écrit : > bonsoir à tous,
bonsoir,
> 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 `
[...]
une solution spécifique à bash (je crois) : nom="${1%.*}"
Bah non, ça marche aussi avec sh, zsh, dash --- mais pas (t)csh, tout de même :)
(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
# ou plus précis et direct, nom_mp3="${nom%.rm}.mp3"
,---- Lu sur la liste linux-nantes : | Pour les amoureux du bash, voici un basename en bash qui fonctionnera au | moins 10x (*) plus vite (parce qu'on ne lance pas de processus) : | | function basename2() { local f=${1##*/}; echo ${f%$2}; } | | Le deuxième effet bashcool, c'est que la commande | $ mon_basename fic '.*' | enlèvera n'importe quelle extension, ce que ne sait pas faire basename | | Xavier Hienne | | (*) 25x chez moi - YMMV `----
une autre avec sed (même probleme) : nom=`echo "$1" | sed 's,..*$,,g'`
sans le problème,
sed -e 's,.[^.]*,,' # ou + au lieu de *, pour garder un point final.
-- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Cédric Lucantis a écrit, lundi 5 mars 2007, à 21:36 :
Le lundi 5 mars 2007 21:19, Remi Suinot a écrit :
> bonsoir à tous,
bonsoir,
> 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 `
[...]
une solution spécifique à bash (je crois) : nom="${1%.*}"
Bah non, ça marche aussi avec sh, zsh, dash --- mais pas (t)csh, tout de
même :)
(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
# ou plus précis et direct,
nom_mp3="${nom%.rm}.mp3"
,---- Lu sur la liste linux-nantes :
| Pour les amoureux du bash, voici un basename en bash qui fonctionnera au
| moins 10x (*) plus vite (parce qu'on ne lance pas de processus) :
|
| function basename2() { local f=${1##*/}; echo ${f%$2}; }
|
| Le deuxième effet bashcool, c'est que la commande
| $ mon_basename fic '.*'
| enlèvera n'importe quelle extension, ce que ne sait pas faire basename
|
| Xavier Hienne
|
| (*) 25x chez moi - YMMV
`----
une autre avec sed (même probleme) : nom=`echo "$1" | sed 's,..*$,,g'`
sans le problème,
sed -e 's,.[^.]*,,' # ou + au lieu de *, pour garder un point final.
--
Jacques L'helgoualc'h
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Cédric Lucantis a écrit, lundi 5 mars 2007, à 21:36 :
Le lundi 5 mars 2007 21:19, Remi Suinot a écrit : > bonsoir à tous,
bonsoir,
> 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 `
[...]
une solution spécifique à bash (je crois) : nom="${1%.*}"
Bah non, ça marche aussi avec sh, zsh, dash --- mais pas (t)csh, tout de même :)
(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
# ou plus précis et direct, nom_mp3="${nom%.rm}.mp3"
,---- Lu sur la liste linux-nantes : | Pour les amoureux du bash, voici un basename en bash qui fonctionnera au | moins 10x (*) plus vite (parce qu'on ne lance pas de processus) : | | function basename2() { local f=${1##*/}; echo ${f%$2}; } | | Le deuxième effet bashcool, c'est que la commande | $ mon_basename fic '.*' | enlèvera n'importe quelle extension, ce que ne sait pas faire basename | | Xavier Hienne | | (*) 25x chez moi - YMMV `----
une autre avec sed (même probleme) : nom=`echo "$1" | sed 's,..*$,,g'`
sans le problème,
sed -e 's,.[^.]*,,' # ou + au lieu de *, pour garder un point final.
-- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Bruno Berteau
Remi Suinot a écrit :
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles contenait:
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit :
bonsoir à tous,
Bonjour,
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é?)
Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car si je passe autre chose que du rm, seule le point sera toujours là.
Bonsoir,
J'ai trouvé ça qui à l'air de bien fonctionner
nom=`dirname $1`"/"`basename $1 | sed 's/..*$//'`
Par contre si tu as 2 points dans le nom du fichier tout ce qui est après le 1er sera supprimé. Par exemple ./fichier.01.rm donnera ./fichier
Si l'extension est toujours .rm tu peux aussi utiliser
nom=`echo $1 | sed 's/.rm$//i'`
@+
-- Bruno Berteau http://b.berteau.free.fr
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Remi Suinot a écrit :
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles <debserge@free.fr> contenait:
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit :
bonsoir à tous,
Bonjour,
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é?)
Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car
si je passe autre chose que du rm, seule le point sera toujours là.
Bonsoir,
J'ai trouvé ça qui à l'air de bien fonctionner
nom=`dirname $1`"/"`basename $1 | sed 's/..*$//'`
Par contre si tu as 2 points dans le nom du fichier tout ce qui est
après le 1er sera supprimé. Par exemple ./fichier.01.rm donnera ./fichier
Si l'extension est toujours .rm tu peux aussi utiliser
nom=`echo $1 | sed 's/.rm$//i'`
@+
--
Bruno Berteau
http://b.berteau.free.fr
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
En ce Mon, 5 Mar 2007 21:27:35 +0100, le sermon de Serge Cavailles contenait:
Le Lundi 05 Mars 2007 21:19, Remi Suinot a écrit :
bonsoir à tous,
Bonjour,
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é?)
Pourquoi ne pas utiliser un autre délimiteur que le point?
pour couper le nom et enlever la partie ".rm", c'est plus pratique, car si je passe autre chose que du rm, seule le point sera toujours là.
Bonsoir,
J'ai trouvé ça qui à l'air de bien fonctionner
nom=`dirname $1`"/"`basename $1 | sed 's/..*$//'`
Par contre si tu as 2 points dans le nom du fichier tout ce qui est après le 1er sera supprimé. Par exemple ./fichier.01.rm donnera ./fichier
Si l'extension est toujours .rm tu peux aussi utiliser
nom=`echo $1 | sed 's/.rm$//i'`
@+
-- Bruno Berteau http://b.berteau.free.fr
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Remi Suinot
En ce Mon, 5 Mar 2007 22:13:38 +0100, le sermon de Jacques L'helgoualc'h <l hh+ contenait:
Cédric Lucantis a écrit, lundi 5 mars 2007, à 21:36 : > Le lundi 5 mars 2007 21:19, Remi Suinot a écrit : > > bonsoir à tous,
bonsoir,
> > 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'exten sion: > > nom=`echo $1 | cut -d "." -f 1 ` [...] > > une solution spécifique à bash (je crois) : nom="${1%.*}"
Bah non, ça marche aussi avec sh, zsh, dash --- mais pas (t)csh, tout de même :)
> (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 ut ilisant > basename/dirname
# ou plus précis et direct, nom_mp3="${nom%.rm}.mp3"
Merci à tous pour vos exemple. Je vais garder cette solution, avec chemin/nom/base_nom
Amicalement. Rémi.
-- Merci de m'avoir lu jusqu'ici, longue Vie et Prosperite. http://www.suinot.org ou http://linuxette.suinot.org
En ce Mon, 5 Mar 2007 22:13:38 +0100, le sermon de Jacques L'helgoualc'h <l hh+no_spam@free.fr> contenait:
Cédric Lucantis a écrit, lundi 5 mars 2007, à 21:36 :
> Le lundi 5 mars 2007 21:19, Remi Suinot a écrit :
> > bonsoir à tous,
bonsoir,
> > 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'exten sion:
> > nom=`echo $1 | cut -d "." -f 1 `
[...]
>
> une solution spécifique à bash (je crois) : nom="${1%.*}"
Bah non, ça marche aussi avec sh, zsh, dash --- mais pas (t)csh, tout de
même :)
> (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 ut ilisant
> basename/dirname
En ce Mon, 5 Mar 2007 22:13:38 +0100, le sermon de Jacques L'helgoualc'h <l hh+ contenait:
Cédric Lucantis a écrit, lundi 5 mars 2007, à 21:36 : > Le lundi 5 mars 2007 21:19, Remi Suinot a écrit : > > bonsoir à tous,
bonsoir,
> > 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'exten sion: > > nom=`echo $1 | cut -d "." -f 1 ` [...] > > une solution spécifique à bash (je crois) : nom="${1%.*}"
Bah non, ça marche aussi avec sh, zsh, dash --- mais pas (t)csh, tout de même :)
> (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 ut ilisant > basename/dirname