From 9a8524e753f6130387080c4b39109d2da8946303 Mon Sep 17 00:00:00 2001 From: lpoujol Date: Wed, 19 Sep 2018 19:56:48 +0200 Subject: [PATCH] Bonjour jq --- TipsShell.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/TipsShell.md b/TipsShell.md index c0ac70bf..f7393f22 100644 --- a/TipsShell.md +++ b/TipsShell.md @@ -543,3 +543,31 @@ $ grep -P '\t' ~~~{.bash} (for id in $(mailq | grep MAILER\-DAEMON | cut -d' ' -f1); do postcat -q $id| grep Diagnostic\-Code\:; done) | sort | uniq -c | sort -n ~~~ + +# Parsing + +## JSON avec jq + +jq est un puissant outil de manipulation de JSON en cli. Il va aussi mettre en forme et colorer en fonction du terminal. + +~~~ +# apt install jq + +$ curl --silent ipinfo.io | jq +~~~ + +On peut s'en servir pour extraire certaine partie du JSON : + +* .[] : Addresser une entrée d'un tableau. Exemple ".[0]" pour la première entrée +* .foo : Récupérer la valeur de la clée foo + + +Exemple: Récupérer l'ip d'un container (f37ac628a4630da4aabbd23ba8eebf9c72dce5f3ba03675515a8b3619f8425d2) sur l'interface docker_gwbridge + +~~~ +# docker inspect docker_gwbridge | jq ".[0].Containers.f37ac628a4630da4aabbd23ba8eebf9c72dce5f3ba03675515a8b3619f8425d2.IPv4Address" +~~~ + + +Tips : Pour faire des tests ou s'entrainer : https://jqplay.org/ +