Je sollicite votre culture ksh pour m'assister dans la résolution d'un
problème probablement simplet :
Je reçois en entrée d'un script une chaine de caractère dont je voudrais
tester qu'une partie de la valeur, comment peut on faire ?
Concrètement, l'argument 1 a pour valeur 'MonProg essai toto' et je
voudrais dans mon shell tester la valeur de MonProg indépendemment des
valeurs essai et toto.
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
Stephane Chazelas
2003/11/13, 11:47(+01), Denis L'Excellent:
Je reçois en entrée d'un script une chaine de caractère dont je voudrais tester qu'une partie de la valeur, comment peut on faire ?
Concrètement, l'argument 1 a pour valeur 'MonProg essai toto' et je voudrais dans mon shell tester la valeur de MonProg indépendemment des valeurs essai et toto.
Plusieurs solution:
first=${1%%" "*} # syntaxe POSIX
set -f IFS=" " set -a array -- $1 # découpe $1 et met les elts dans un tableau first=${array[0]} # non portable
first=`expr "x$1" : 'x([^ ]*)'` # pour tout shell bourne-like
Je reçois en entrée d'un script une chaine de caractère dont je voudrais
tester qu'une partie de la valeur, comment peut on faire ?
Concrètement, l'argument 1 a pour valeur 'MonProg essai toto' et je
voudrais dans mon shell tester la valeur de MonProg indépendemment des
valeurs essai et toto.
Plusieurs solution:
first=${1%%" "*}
# syntaxe POSIX
set -f
IFS=" "
set -a array -- $1 # découpe $1 et met les elts dans un tableau
first=${array[0]}
# non portable
first=`expr "x$1" : 'x([^ ]*)'`
# pour tout shell bourne-like
Je reçois en entrée d'un script une chaine de caractère dont je voudrais tester qu'une partie de la valeur, comment peut on faire ?
Concrètement, l'argument 1 a pour valeur 'MonProg essai toto' et je voudrais dans mon shell tester la valeur de MonProg indépendemment des valeurs essai et toto.
Plusieurs solution:
first=${1%%" "*} # syntaxe POSIX
set -f IFS=" " set -a array -- $1 # découpe $1 et met les elts dans un tableau first=${array[0]} # non portable
first=`expr "x$1" : 'x([^ ]*)'` # pour tout shell bourne-like