J'ai un fichier test.json avec différentes longueurs de lignes. Un exemple fictif:
{ "a" : 123, "b": "sd", "c": 45, "d": 1, "e": "" }
{ "a": 5, "b": "bfgg", "c": "x4c", "d": 31, "e": "" }
Je veux juste garder juste b pour chaque ligne:
{ "b": "sd"}
{ "b": "bfgg"}
Avec Miller
$ mlr --json cut -f b test.json
{ "b": "sd" }
{ "b": "bfgg" }
Utilisation de l'analyseur json json:
json -f test.json -gac 'return console.log("{ \"b\": \"" + this.b + "\" }")'
Dans ce cas, jq
semble être un meilleur outil pour cela, mais je pense toujours que json
est un très bon outil pour analyser les données json.
Vous pouvez essayer ceci avec cut
et sed
:
cut -d',' -f2 file | sed -e 's/^/{/' -e 's/$/ }/'
Production:
{ "b": "sd" }
{ "b": "bfgg" }