Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/10/2015, à 17:36

musha76

Rechercher un nombre à partir d'une chaîne de caractère

Bonjour à tous,

Voici mon problème, j'essaie de récupérer une valeur à partir d'une chaîne de caractère.
Voici cette chaîne :

TelServiceReturn  result  sessionsStatistics  snapshotPbxLink  statistics  pbxLink TATA /pbxLink  sessionsCount 502 /sessionsCount  readyAvailableAgentsCount 433 /readyAvailableAgentsCount  callConnectedAgentsCount 1 /callConnectedAgentsCount  /statistics  statistics  pbxLink TOTO /pbxLink  sessionsCount 53 /sessionsCount

L'objectif étant de récupérer les valeurs 502 et 53
Je peux récupérer n'importe quel caractère avec un simple :

awk -F " " '{ print $10 }'

Le problème étant que cette chaîne de caractère ne possède pas une valeur fixe... d'autres champs peuvent si ajouter.

Donc lorsque je veux récupérer la valeur 502, et qu'un nouveau champ s’implémente, je ne récupère pas la bonne donnée avec un

print $10

.

J'aimerai donc savoir s'il est possible de récupérer cette valeur (502 et/ou 53) en comptant à partir de pbxLink, car la longueur entre pbxLink et la valeur (502/53) sera toujours la même.

L'utilisation d'un awk me parait être une bonne solution, mais je ne vois pas comme l'utiliser.

Merci par avance!

Hors ligne

#2 Le 27/10/2015, à 17:58

pingouinux

Re : Rechercher un nombre à partir d'une chaîne de caractère

Bonjour,
Ceci ?

awk  '{for(i=1;i<=NF;i++){if($i=="pbxLink")print $(i+4)}}' <<<"$chaine"

Hors ligne

#3 Le 28/10/2015, à 10:14

credenhill

Re : Rechercher un nombre à partir d'une chaîne de caractère

hello

$ awk -v RS=" pbxLink" '$4 ~ /^[0-9]/ {print $4}' <<<"$var"
502
53

Hors ligne

#4 Le 28/10/2015, à 11:39

musha76

Re : Rechercher un nombre à partir d'une chaîne de caractère

Merci pour vos réponses !

Les deux méthodes fonctionnent parfaitement !!

Merci encore d'aider les personnes ! wink

Dernière modification par musha76 (Le 28/10/2015, à 11:40)

Hors ligne