Oui, c'est ce que je te disais, il vaudrait mieux utiliser un parser json, car il y a plein de trucs inutiles pour délimiter les champs dans ce type de fichiers, qui obligent à faire des traitements supplémentaires dans des outils généralistes comme awk.
Mais bon, si tu souhaites récupérer ce qu'il y a après geo et ipaddr comme je le suppose (et pas geo et ipaddr eux-mêmes), tu peux déjà faire
awk -F':' '$1 ~ "geo"{printf("%s",$2)} $1 ~ "ipaddr"{printf("%s\n",$2)}' fichier
qui te donnera
1 2 3
| "Toto1", "1.1.1.1",
"Toto2", "2.2.2.2",
"Toto3", "3.3.3.3", |
Ensuite, il te reste à mettre en forme si tu veux te débarrasser des guillemets et virgules (ce qu'un parser json ferait de lui-même j'imagine).
Partager