Separateur de awk
Résolu
coiaye
-
coiaye -
coiaye -
Bonjour,
dans la commande awk est-il possible pour extraire une partie d'une ligne de prendre une chaine de caractère comme séparateur (au lieu d'un caractère -F) (la chaine se repete plusieurs fois dans la ligne)
merci
dans la commande awk est-il possible pour extraire une partie d'une ligne de prendre une chaine de caractère comme séparateur (au lieu d'un caractère -F) (la chaine se repete plusieurs fois dans la ligne)
merci
Configuration: Windows XP Internet Explorer 6.0
8 réponses
-
Salut,
Normalement oui ;-))
-
C'est toi qui a un problème car :
$ echo "ligne:123 chaine 456 chaine 789 chaine 1011" | awk -F"chaine" '{print $2}' 456chez moi ça marche bien ;-\
-
Je ne comprends pas non plus ;-((
sed n'est pas vraiment fait pour ça...
-
Sans grande conviction...
awk 'BEGIN { FS = "chaine" } { print $2 }';-\
-
-
slt
j'ai encor une question qui pourai m'aider
comment je pourai extraire d'une chaine tous les champs séparés par un caractère (":" par exemple) sauf le dernier
en gro j'ai une chaine "aaa:bbb:ccc:ddd" et je veux extraire "aaa:bbb:ccc" sachant que le nombre de ":" n'est pas le meme a chaque foi
je sai comment faire le contraire, c a dire extraire just le dernier champ (awk -F":" '{print $NF}') mais g pas reussi a faire ce que je veux
merci
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re-
Là par contre c'est du domaine de "sed" :echo "aaa:bbb:ccc:ddd" | sed -n 's/\(.*\):.*/\1/p'
;-))
-
awk ne peut pas laisser dire ça :-) :
$ echo aaa:bbb:ccc:ddd | awk 'BEGIN {FS=OFS=":"} ; {NF--;print $0}'
aaa:bbb:ccc -
Il faudrait connaitre quelle platforme,quel awk, essayer peut-être
awk -F"(chaine)" '{print $2}' -
hello
ver
uname -a
awk -v
awk --v
Si tu es sur Solaris, uiliser nawk