Выберите подходящую подстроку - PullRequest
0 голосов
/ 09 июля 2019

Учитывая следующее ideal2.json


[
    {
    "url": "/classroom-videos/lesson1/sublesson1/video",
        "data": {
            "fieldset": "lesson-video-overview",
            "title": "5th Grade Math - Interpreting Fractions",
        },
        "order": 4
    },
    {
    "url": "/classroom-videos/lesson1/sublesson2/video",
        "data": {
            "fieldset": "lesson-video-clip-single",
            "title": "Post-Lesson Debrief Part 5",
        },
        "order": 14
    },
    {
        "url" : "about-us",
        "data": {
            "fieldset": "lesson-video-clip-single",
            "title": "Lesson Part 2B",
        },
        "order": 6
    }
]

Я хочу извлечь только те элементы, URL которых начинается с /classroom-videos/

В идеале мой вывод будет выглядеть так:


[
    {
    "url": "/classroom-videos/lesson1/sublesson1/video",
        "data": {
            "fieldset": "lesson-video-overview",
            "title": "5th Grade Math - Interpreting Fractions",
        },
        "order": 4
    },
    {
    "url": "/classroom-videos/lesson1/sublesson2/video",
        "data": {
            "fieldset": "lesson-video-clip-single",
            "title": "Post-Lesson Debrief Part 5",
        },
        "order": 14
    }
]

Я перепробовал множество вариантов без удачи: например, select(.url | contains("yomama")) производит jq: error (at: 47): Невозможно индексировать массив со строкой "url", состояние выхода 5

.[].url производитхороший список всех URL

1 Ответ

0 голосов
/ 09 июля 2019

Похоже, это может сработать:

jq '.[] | select(.url |test("classroom-videos"))'

...