TUTOS.EU

Filtrer un fichier json avec jq sous Linux

Le format json est super puissant mais à lire au format brut c'est un peu indigeste. Heureusement il y a jq ! On l'installe avec

#Sous Ubuntu/Debian
sudo apt-get install jq

#Sur une base Red Hat
sudo dnf install jq
Lien vers le fichier : cliquez ici Copier le code

De là vous pouvez basiquement lire un fichier json en faisant

cat monfichier.json | jq
Lien vers le fichier : cliquez ici Copier le code

Mais derrière vous pouvez surtout filtrer en retirant un champs par exemple

cat monfichier.json | jq "del(.message)"
Lien vers le fichier : cliquez ici Copier le code

Vous pouvez filtrer un champ ou sous champ

cat monlogdesecu.json | jq 'select(.event.code == "4624")'

#Ou
cat monlogdesecu.json | jq 'select(.event.code | IN("4624", "4634"))'
cat monlogdesecu.json | jq 'select((.event.code | IN("4624", "4634")) and ((.user.name | ascii_downcase) == "leloginrecherche"))'

cat monlogdesecu.json| jq 'del(.message) | select((.event.code | IN("4624", "4634")) and ((.user.name | ascii_downcase) == "leloginrecherche"))'
Lien vers le fichier : cliquez ici Copier le code