rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[Shell] manipulation de chaine

Posté par JOBiJOBa2, le vendredi 16 mai 2008 à 16:21:58
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.
Configuration: Windows XP
Firefox 2.0.0.14
Répondre à JOBiJOBa2  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le vendredi 16 mai 2008 à 16:24:10
Salut,
[tmpfs]$ var="home/to/titi.exe"
[tmpfs]$ echo ${var##*/}
titi.exe
[tmpfs]$
;-))
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
Répondre à jipicy

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOBiJOBa2, le vendredi 16 mai 2008 à 16:28:20
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##*/}

^^
Répondre à JOBiJOBa2

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le vendredi 16 mai 2008 à 16:33:34
man bash -P 'less -p "^   Remplacement des paramètres"'
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
Répondre à jipicy

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOBiJOBa2, le vendredi 16 mai 2008 à 16:39:07
Merci
Répondre à JOBiJOBa2

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Forest, le vendredi 16 mai 2008 à 16:25:03
Quel langage?
Répondre à Forest

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOBiJOBa2, le vendredi 16 mai 2008 à 16:30:39
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.
Répondre à JOBiJOBa2

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Forest, le vendredi 16 mai 2008 à 16:32:09
Non, c'est la meilleure soluce
Répondre à Forest

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le vendredi 16 mai 2008 à 16:35:17
echo ${var//*\//}
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
Répondre à jipicy

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOBiJOBa2, le vendredi 16 mai 2008 à 16:44:26
Pour echo ${var//*\//} :

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


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



^^
Répondre à JOBiJOBa2

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le vendredi 16 mai 2008 à 16:45:02
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

106485010510997108
Répondre à lami20j

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOBiJOBa2, le vendredi 16 mai 2008 à 16:49:55
/home/to/ >var="home/to/titi.exe"
/home/to/ >echo $var
home/to/titi.exe
/home/to/ >echo ${var/*\/}
ksh: ${var/*\/}: bad substitution

Bizarre

^^
Répondre à JOBiJOBa2

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le vendredi 16 mai 2008 à 16:51:12
en fait le test est fait sur bash et pas sur ksh ;-) 106485010510997108
Répondre à lami20j

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOBiJOBa2, le vendredi 16 mai 2008 à 16:52:34
Okey merci désolé de ne pas avoir précisé mais echo ${var##*/} marche très bien en ksh.
Répondre à JOBiJOBa2

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 lami20j, le vendredi 16 mai 2008 à 19:00:13
Chez ça marche avec ksh
$ echo $SHELL
/bin/ksh
$ var="home/to/titi.exe"
$ echo $var
home/to/titi.exe
$ echo ${var/*\/}
titi.exe
$

106485010510997108
Répondre à lami20j
Logiciels pertinents trouvés dans les téléchargements
Télécharger SSH Secure Shell 3.0 build 203SSH Secure Shell - SSH secure shell for workstations est un client SSH flexible permettant de se connecter de façon sécurisée à des...Catégorie: Telnet/SSH
Licence: Open Source
Télécharger ShellEnhancer  3.0.0.91ShellEnhancer - ShellEnchancer est un programme d'amélioration des fonctions de base de Windows. Il rend les interfaces plus stables et plus...Catégorie: Personnalisation
Licence: Freeware/gratuit
Télécharger Gant2Ocean ShellPack    2Gant2Ocean ShellPack - Pour ceux qui aiment bien personnaliser l'apparence de leur interface graphique Windows ou Thèmes, ils seront gâtés. ...Catégorie: Personnalisation
Licence: Freeware/gratuit
Télécharger CygWin 1.5.24-2CygWin - Cygwin est un environnement UNIX pour Windows composé: d'un shell Unix d'une librairie dynamique (DLL) chargée de...Catégorie: Développement
Licence: Open Source
Plus de logiciels gratuits sur « [Shell] manipulation de chaine »