["a", "b", "c"], ["abc", "e", "f"]
次のjsonデータと「a」が部分的に一致するクエリで与えられた場合、jqを使用して部分的に一致するクエリ「a」を含む配列をどのように取得できますか?
[
["a", "b", "c"],
["abc", "e", "f"],
["g", "h", "i"]
]
jq '. [] | select(index("a"))'
正確に一致するものだけをインポートしますが、["a", "b", "c"]
「abc」に「a」が含まれているのでインポートしたいと思います。["abc", "e", "f"]
ベストアンサー1
以下とは少し異なるアプローチ漕ぐ船は何を持っていったの?:
jq 'map(select(any(contains("a"))))' file
最も内側のテストは各文字列の部分文字列をテストしますa
。サブ配列の文字列にが含まれている場合は、a
そのサブ配列が選択されます。map
最上位配列のすべてのサブ配列に選択を適用します。
結果は、1つ以上の部分文字列を含む要素を含むサブ配列の最上位配列ですa
。
[
[
"a",
"b",
"c"
],
[
"abc",
"e",
"f"
]
]