Concat numéros de JSON sans doublequotes à l'aide de jq

j'ai des fichiers avec 1 document json par ligne et les champs start_id et end_id dans chaque document. J'aimerais utiliser jq pour les extraire et les imprimer sur la même ligne.

pour l'instant, j'ai:

cat part* | jq '"(.start_id) (.end_id)"' | sed s/"//g | head

ça marche, mais j'ai besoin du sed pour enlever les doubles citations.

afin d'améliorer mon jq-foo, y a-t-il un moyen de faire ce sans utiliser sed ?

p.ex. donnée

{"start_id":1,"end_id":50}
{"start_id":50,"end_id":99}
{"start_id":99,"end_id":12}

get

1 50
50 99
99 12

au lieu de

"1 50"
"50 99"
"99 12"
11
demandé sur Bonifacio2 2015-11-27 01:01:32

1 réponses

par défaut, jq formate sa sortie pour être une valeur JSON valide. Cela signifie que les chaînes de caractères sont enveloppées dans des guillemets.

heureusement, le paramètre --raw-output ou -r l'emporte sur ce comportement de sorte que votre chaîne de caractères puisse être libre de ces guillemets désagréables;)

Source: https://stedolan.github.io/jq/manual /

18
répondu xjedam 2018-09-26 13:25:48