[Shell] extraire une chaine
Résolu
toutmaispasaix
-
toutmaispasaix -
toutmaispasaix -
Bonjour,
Encore un soucis d'extraction de chaîne (problème éternel!)
Script Shell : si possible portable et sans adhérence au shell utilisé (bash, zsh, etc)
J'ai une liste contenu dans une variable. La liste ressemble à ça :
lapin=2 poulet=42 carottes=123 patates=54321
Je voudrais vérifier si "patates" fait partis de la liste et si oui en connaitre le nombre.
attention :
- patate n'est pas forcément présent dans la liste et si oui sa position est indéfinie
Une solution en awk, sed ou cut me conviendrait parfaitement.
Cordialement,
Encore un soucis d'extraction de chaîne (problème éternel!)
Script Shell : si possible portable et sans adhérence au shell utilisé (bash, zsh, etc)
J'ai une liste contenu dans une variable. La liste ressemble à ça :
lapin=2 poulet=42 carottes=123 patates=54321
Je voudrais vérifier si "patates" fait partis de la liste et si oui en connaitre le nombre.
attention :
- patate n'est pas forcément présent dans la liste et si oui sa position est indéfinie
Une solution en awk, sed ou cut me conviendrait parfaitement.
Cordialement,
A voir également:
- [Shell] extraire une chaine
- Extraire une video youtube - Guide
- Classic shell - Télécharger - Personnalisation
- Extraire le son d'une vidéo - Guide
- Chaine tnt gratuite sur mobile - Guide
- Extraire texte d'une image - Guide
2 réponses
Salut,
Une solution avec "sed" :
Une solution avec "sed" :
[tmpfs]$ echo $var lapin=2 poulet=42 carottes=123 patates=54321 [tmpfs]$ A="patates"; echo $var | sed -n "s/.*${A}=\([^ ]*\).*/\1/p" 54321 [tmpfs]$ A="lapin"; echo $var | sed -n "s/.*${A}=\([^ ]*\).*/\1/p" 2 [tmpfs]$ A="choux"; echo $var | sed -n "s/.*${A}=\([^ ]*\).*/\1/p" [tmpfs]$;-))