jqを使用してjson配列からクエリを含む配列を取得する

jqを使用してjson配列からクエリを含む配列を取得する

["a", "b", "c"]次のjsonデータとクエリで「a」が与えられた場合、jqを使用してクエリ「a」を含む配列をどのように取得できますか?

[
    ["a","b","c"],
    ["d","e","f"],
    ["g","h","i"]
]

ベストアンサー1

私はこれがあなたの要件を満たしていると思います。

'.[]|select(index("a"))'

これは各サブリストに対して機能し、index("a")リストのインデックスを返します。 falseと評価されるため、含まれているサブリストのみを検索する条件として使用します。anullnullselect()a

実際の姿は次のとおりです。

$ jq '.[]|select(index("a"))' <<EOF
> [
    ["a","b","c"],
    ["d","e","f"],
    ["g","h","i"]
]
EOF
[
  "a",
  "b",
  "c"
]

おすすめ記事