[SHELL] afficher valeur d'une ligne
Résolu/Fermé
magicwill
Messages postés
93
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
10 juillet 2008
-
17 août 2007 à 11:45
magicwill Messages postés 93 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 10 juillet 2008 - 17 août 2007 à 14:01
magicwill Messages postés 93 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 10 juillet 2008 - 17 août 2007 à 14:01
A voir également:
- [SHELL] afficher valeur d'une ligne
- Hors ligne instagram - Guide
- Aller à la ligne excel - Guide
- Vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Classic shell windows 10 français - Télécharger - Personnalisation
6 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
17 août 2007 à 11:55
17 août 2007 à 11:55
Salut,
echo "coucou SRV=BEAU VAR2=44 VAR5=TEST" | grep -o "VAR2=.* " | cut -d = -f2;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
17 août 2007 à 13:01
17 août 2007 à 13:01
Salut,
je n'ai pas testé
lami20j
je n'ai pas testé
echo "coucou SRV=BEAU VAR2=44 VAR5=TEST" | cut -d" " -f3 | cut -d = -f2--
lami20j
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
17 août 2007 à 13:08
17 août 2007 à 13:08
Salut lami20j,
Je cite magicwill dans son 1er post : "mais je peux avoir aussi les champs qui changent de places... par exemple dans $ligne :..."
;-((
Par contre essaie ça :
Je cite magicwill dans son 1er post : "mais je peux avoir aussi les champs qui changent de places... par exemple dans $ligne :..."
;-((
Par contre essaie ça :
echo "coucou SRV=BEAU VAR2=44 VAR5=TEST" | sed 's/.*VAR2=\([^ ]* \).*/\1/'Ça devrait le faire :-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
17 août 2007 à 13:18
17 août 2007 à 13:18
Salut,
ben, alors, qu'ils ne changent pas leur place !!!
:-DDDDD
ben, alors, qu'ils ne changent pas leur place !!!
:-DDDDD
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
17 août 2007 à 13:19
17 août 2007 à 13:19
;-)))
magicwill
Messages postés
93
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
10 juillet 2008
3
17 août 2007 à 13:32
17 août 2007 à 13:32
salut... j'ai lu ta proposition jipicy...
J'ai essayé mais ca a pas l'air de le faire...
Je pense faire quelque chose comme ton sed...
Par contre, j'ai un peu de mal a comprendre chaque partie de ton sed...
Surtout explique le chapeau etoile [^ ]*
J'avoue, suis pas un pro...Mais voila ce que j'ai trouvé, apres avoir lu ce que tu as fait + un peu de net...
Et ca m'affiche VAR2=
Je pense que je dois mettre qq part une regexp pour dire des chiffres... ou regexp pour des lettres..mais alors je suis pas trop doué... de l'aide encore svp...
Merci deja pour vos suggestions...
J'ai essayé mais ca a pas l'air de le faire...
Je pense faire quelque chose comme ton sed...
Par contre, j'ai un peu de mal a comprendre chaque partie de ton sed...
sed 's/.*VAR2=\([^ ]* \).*/\1/'
Surtout explique le chapeau etoile [^ ]*
J'avoue, suis pas un pro...Mais voila ce que j'ai trouvé, apres avoir lu ce que tu as fait + un peu de net...
Et ca m'affiche VAR2=
ID=`echo $ligne | sed -n 's/.*\(VAR2=\).*/\1/p' ` echo $ID
Je pense que je dois mettre qq part une regexp pour dire des chiffres... ou regexp pour des lettres..mais alors je suis pas trop doué... de l'aide encore svp...
Merci deja pour vos suggestions...
magicwill
Messages postés
93
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
10 juillet 2008
3
17 août 2007 à 13:41
17 août 2007 à 13:41
Ca y est!!!
Trouvé!!
Par contre, faut encore que je trouve la regexp pour exprimer lettre et chiffre melangées...
Merci à vous!
Trouvé!!
ID=`echo $ligne | sed -n 's/.*\(VAR2=[0-9]*\).*/\1/p' | cut -d"=" -f2`
Par contre, faut encore que je trouve la regexp pour exprimer lettre et chiffre melangées...
Merci à vous!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
17 août 2007 à 13:45
17 août 2007 à 13:45
[tmpfs]$ VAR=$(echo "coucou SRV=BEAU VAR2=44 VAR5=TEST" | sed 's/.*VAR2=\([^ ]* \).*/\1/') [tmpfs]$ echo $VAR 44 [tmpfs]$Chez moi ça marche ;-\
Sinon le "chapeau espace" comme tu dis c'est pour empêcher la gloutonnerie des regex. Si on omet cette partie dans la regex -qui dit en substance de prendre tout ce qu'il y a derrière le signe égale jusqu'à ce qu'on rencontre un espace (note bien l'espace derrière l'astérisque)- elle englobera tous les espaces restant jusqu'au dernier et de ce fait matchera le restant de la ligne. De cette façon elle s'arrête au 1er espace rencontré.
magicwill
Messages postés
93
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
10 juillet 2008
3
17 août 2007 à 14:01
17 août 2007 à 14:01
Effectivement ca marche jipicy!!!!
Merci merci!!
Je sais pas pourquoi, mais quand j'ai testé tout à l'heure, ca marchait pas...ptetre un espace...
Merci pour tes explications, je ne connaissais pas..
Bon, ben suis sauvé!
Merci merci!
Merci merci!!
Je sais pas pourquoi, mais quand j'ai testé tout à l'heure, ca marchait pas...ptetre un espace...
Merci pour tes explications, je ne connaissais pas..
Bon, ben suis sauvé!
Merci merci!
17 août 2007 à 12:13
je fais grep -o test fic, et il me dit grep: illegal option -- o
je fais man grep...l'option -o n'existe pas!!!!
C'est un genre de unix que j'ai je pense...
Ouin...je fondait tout mes espoirs sur ta commande!!! Effectivement, ca marche mais ailleurs quoi...
Des idées?
ps: voila ce qui veint apres illegal blabla