Separateur de awk
Résolu
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
-
ModérateurSalut,
Normalement oui ;-))
-
ModérateurC'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 ;-\
-
ModérateurJe ne comprends pas non plus ;-((
sed n'est pas vraiment fait pour ça...
-
ModérateurSans 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
-
-
ModérateurRe-
Là par contre c'est du domaine de "sed" :echo "aaa:bbb:ccc:ddd" | sed -n 's/\(.*\):.*/\1/p'
;-))
-
Contributeurawk ne peut pas laisser dire ça :-) :
$ echo aaa:bbb:ccc:ddd | awk 'BEGIN {FS=OFS=":"} ; {NF--;print $0}'
aaa:bbb:ccc -
ContributeurIl faudrait connaitre quelle platforme,quel awk, essayer peut-être
awk -F"(chaine)" '{print $2}'-
-
@jipicyje suis là :))
je vien d'essayer awk -F"(chaine)" '{print $2}' mais ça marche pas
comment je doi faire pour connaitre quelle platforme et quel awk (curieu seulement, mon probleme est resolu)
merci -
Modérateur
-
-
Contributeurhello
ver
uname -a
awk -v
awk --v
Si tu es sur Solaris, uiliser nawk