Au secours ! awk sed cours !
Résolu/Fermé
pmx
Messages postés
138
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
14 mars 2008
-
13 mars 2008 à 15:34
pmx Messages postés 138 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 14 mars 2008 - 14 mars 2008 à 12:13
pmx Messages postés 138 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 14 mars 2008 - 14 mars 2008 à 12:13
A voir également:
- Au secours ! awk sed cours !
- Panne tnt en cours aujourd'hui - Guide
- Association avec le serveur freebox en cours - Forum Freebox
- Arret en cours infini ✓ - Forum Windows 8 / 8.1
- Chronopost colis en cours d'acheminement depuis 1 semaine ✓ - Forum Consommation & Internet
- Association avec le server freebox en cours freeplug vert - Forum Freebox
5 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 897
14 mars 2008 à 11:29
14 mars 2008 à 11:29
jp@MDK:~/tmpfs ssh$ cat pmx a=1;b=2;d=bla bla;e=5 a=xxx;b=2a;c=c;d=4;e=5 jp@MDK:~/tmpfs ssh$ var=a; sed -n '/'"$var"'=/ s/.*\('"$var"'=[^;]*\).*/\1/p' pmx a=1 a=xxx jp@MDK:~/tmpfs ssh$ var=b; sed -n '/'"$var"'=/ s/.*\('"$var"'=[^;]*\).*/\1/p' pmx b=2 b=2a jp@MDK:~/tmpfs ssh$ var=c; sed -n '/'"$var"'=/ s/.*\('"$var"'=[^;]*\).*/\1/p' pmx c=c jp@MDK:~/tmpfs ssh$ var=e; sed -n '/'"$var"'=/ s/.*\('"$var"'=[^;]*\).*/\1/p' pmx e=5 e=5 jp@MDK:~/tmpfs ssh$;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 mars 2008 à 16:33
13 mars 2008 à 16:33
Salut,
sed 's/.*\(b=.*\);d=.*/\1/';-))
pmx
Messages postés
138
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
14 mars 2008
28
14 mars 2008 à 10:00
14 mars 2008 à 10:00
Merci pour ta réponse, mais je ne peux pas compter sur la présence de d=, qui n'est pas forcemment toujours là.
Il faut vraiment que je me base sur ce qui est à gauche du signe =, sans tenir compte de la position du champ par rapport aux autres.
A+
pmx
Il faut vraiment que je me base sur ce qui est à gauche du signe =, sans tenir compte de la position du champ par rapport aux autres.
A+
pmx
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
14 mars 2008 à 10:05
14 mars 2008 à 10:05
Ok, mais alors, ça :J'aimerai obtenir ça :
b=2
b=2a;c=c
c'est pas possible ;-((
Pour le 1er oui, mais pas pour le second !
Sinon :
b=2
b=2a;c=c
c'est pas possible ;-((
Pour le 1er oui, mais pas pour le second !
Sinon :
sed 's/.*\(b=[^;d]*\).*/\1/';-))
pmx
Messages postés
138
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
14 mars 2008
28
14 mars 2008 à 11:21
14 mars 2008 à 11:21
Merci encore, mais je vois "d" dans l'expression et ça ne va pas.
Exprimé autrement :
Quelques soient les autres champs qui les entoure, je souhaite extraire certaines "colonnes' de mon fichier log en identifiant les-dites colonnes par leur "type" a= ou b= ou x=, mais pas par leur position ni par leurs voisins.
Les colonnes sont séparées par des ;
C'est comme si je "sourçais" chaque ligne pour avoir des variables d'environnement que je pourrais ensuite exploiter.
Mais c'est une solution gourmande en ressource et je pense que sed ou awk peuvent le faire.
Merci pour ton intérêt à mon problème :-)
pmx
Exprimé autrement :
Quelques soient les autres champs qui les entoure, je souhaite extraire certaines "colonnes' de mon fichier log en identifiant les-dites colonnes par leur "type" a= ou b= ou x=, mais pas par leur position ni par leurs voisins.
Les colonnes sont séparées par des ;
C'est comme si je "sourçais" chaque ligne pour avoir des variables d'environnement que je pourrais ensuite exploiter.
Mais c'est une solution gourmande en ressource et je pense que sed ou awk peuvent le faire.
Merci pour ton intérêt à mon problème :-)
pmx
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pmx
Messages postés
138
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
14 mars 2008
28
14 mars 2008 à 12:13
14 mars 2008 à 12:13
Yes !!!!!!
Je vais traiter ligne par ligne avec ta méthode et ça devrait aller.
Extraire les champs un par un et les stocker dans des variables ça me va.
Merci JP
10/10 ;-)
pmx
Je vais traiter ligne par ligne avec ta méthode et ça devrait aller.
Extraire les champs un par un et les stocker dans des variables ça me va.
Merci JP
10/10 ;-)
pmx