[Shell] manipulation de chaine

Résolu
JOBiJOBa2 Messages postés 93 Statut Membre -  
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
Bonjour,
j'aurai besoin de vos lumière sur un sujet que je ne métrise pas en shell.
Je récupère une chaine provenant d'une variable et je voudrait isoler une partie de celle-ci.

Explication :

var="home/to/titi.exe"

Résultat attendu :

titi.exe

besoin d'aide
Merci d'avance.
A voir également:

6 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,
[tmpfs]$ var="home/to/titi.exe"
[tmpfs]$ echo ${var##*/}
titi.exe
[tmpfs]$
;-))
0
JOBiJOBa2 Messages postés 93 Statut Membre 5
 
Encore un grand merci jipicy. Ca marche comme d'habitude!!

Juste un petit truc peut tu si tu as le temps m'expliquer le principe de ${var##*/}

^^
0
jipicy Messages postés 41342 Statut Modérateur 4 896 > JOBiJOBa2 Messages postés 93 Statut Membre
 
man bash -P 'less -p "^   Remplacement des paramètres"'
0
JOBiJOBa2 Messages postés 93 Statut Membre 5 > jipicy Messages postés 41342 Statut Modérateur
 
Merci
0
Forest
 
Quel langage?
0
JOBiJOBa2 Messages postés 93 Statut Membre 5
 
C'était du ksh [Shell] mais le problème est déjà résolu.

Merci quand même.

PS : Si tu as une autre solution c'est toujours bon à prendre.
0
Forest
 
Non, c'est la meilleure soluce
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
echo ${var//*\//}
0
JOBiJOBa2 Messages postés 93 Statut Membre 5
 
Pour echo ${var//*\//} :

test.sh[250]: ${var//*\//}: bad substitution


Et pour echo ${var##*/} c'est bon ça marche très bien.



^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

allez un peu d'économie ;-)
root@debian:~# var="home/to/titi.exe"
root@debian:~# echo $var
home/to/titi.exe
root@debian:~# echo ${var/*\/}
titi.exe

0
JOBiJOBa2 Messages postés 93 Statut Membre 5
 
/home/to/ >var="home/to/titi.exe"
/home/to/ >echo $var
home/to/titi.exe
/home/to/ >echo ${var/*\/}
ksh: ${var/*\/}: bad substitution

Bizarre

^^
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570 > JOBiJOBa2 Messages postés 93 Statut Membre
 
en fait le test est fait sur bash et pas sur ksh ;-)
0
JOBiJOBa2 Messages postés 93 Statut Membre 5 > lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité
 
Okey merci désolé de ne pas avoir précisé mais echo ${var##*/} marche très bien en ksh.
0
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Chez ça marche avec ksh
$ echo $SHELL
/bin/ksh
$ var="home/to/titi.exe"
$ echo $var
home/to/titi.exe
$ echo ${var/*\/}
titi.exe
$

0