web-dev-qa-db-ja.com

jq +プロパティの下のキーの値のみを出力する方法

次のjsonファイルがあります

 more t.json
{
  "href" : "htr",
  "items" : [
    {
      "href" : "lpo",
      "tag" : "version1533203561827110",
      "type" : "kafka-log4j",
      "version" : 6,
      "Config" : {
        "cluster_name" : "hdp",
        "stack_id" : "HDP-2.6"
      },
      "properties" : {
        "content" : "Licensed to the Apache Software Foundation",
        "controller_log_maxbackupindex" : "20",
        "controller_log_maxfilesize" : "256",
        "ey=log4j.rootLogger" : "DEBUG",
        "ey=properties.content" : "DEBUG",
        "kafka_log_maxbackupindex" : "20",
        "kafka_log_maxfilesize" : "256"
      }
    }
  ]
}

コンテンツの価値だけを印刷したい

jq '.items[].properties | to_entries[] |  " \(.value)"' t.json
" Licensed to the Apache Software Foundation"
" 20"
" 256"
" DEBUG"
" DEBUG"
" 20"
" 256"

しかし、他のすべての値を出力します

私はどこが間違っていますか、そして私は何を修正すべきですか?

期待される出力

" Licensed to the Apache Software Foundation"
3
yael

これを試して、

jq '.items[].properties.content' t.json

追加 -r二重引用符を取り除きたい場合

15
pLumo