Я хочу удалить некоторые элементы в файле JSON, которые соответствуют критериям поиска, сохраняя при этом остальную часть структуры JSON. Элемент I w * sh для сопоставления и удаления является объектом в массиве .chapter - .tags.title, который содержит текст # MKR #
. У меня есть представление о том, как выбрать правильные элементы, используя :
jq -r '.chapters[] | select(.tags.title | contains("#MKR#"))' metadata.json
но не знаю, как выбрать и удалить эти элементы, оставив остальную часть структуры без изменений.
Пример ввода JSON - метаданные. json:
{
"chapters": [
{
"id": 0,
"time_base": "1/3000",
"start": 0,
"start_time": "0.000000",
"end": 9200,
"end_time": "3.066667",
"tags": {
"title": "Start"
}
},
{
"id": 1,
"time_base": "1/3000",
"start": 9200,
"start_time": "3.066667",
"end": 15000,
"end_time": "5.000000",
"tags": {
"title": "Example(1) #MKR#"
}
},
{
"id": 2,
"time_base": "1/3000",
"start": 15000,
"start_time": "5.000000",
"end": 18900,
"end_time": "6.300000",
"tags": {
"title": "Example(2)"
}
},
{
"id": 3,
"time_base": "1/3000",
"start": 18900,
"start_time": "6.300000",
"end": 124299,
"end_time": "41.433000",
"tags": {
"title": "Example(3) #MKR#"
}
},
{
"id": 4,
"time_base": "1/3000",
"start": 124299,
"start_time": "41.433000",
"end": 225700,
"end_time": "75.233333",
"tags": {
"title": "Example(4) #MKR#"
}
},
{
"id": 5,
"time_base": "1/3000",
"start": 225700,
"start_time": "75.233333",
"end": 231900,
"end_time": "77.300000",
"tags": {
"title": "Example(5) #MKR#"
}
}
],
"format": {
"filename": "video_mkr_temp.mp4",
"nb_streams": 3,
"nb_programs": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"format_long_name": "QuickTime / MOV",
"start_time": "0.000000",
"duration": "968.300000",
"size": "399977859",
"bit_rate": "3304577",
"probe_score": 100,
"tags": {
"major_brand": "mp42",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"creation_time": "2020-04-12T00:46:21.000000Z"
}
}
}
Пример Вывод JSON Я хочу достичь:
{
"chapters": [
{
"id": 0,
"time_base": "1/3000",
"start": 0,
"start_time": "0.000000",
"end": 9200,
"end_time": "3.066667",
"tags": {
"title": "Start"
}
},
{
"id": 2,
"time_base": "1/3000",
"start": 15000,
"start_time": "5.000000",
"end": 18900,
"end_time": "6.300000",
"tags": {
"title": "Example(2)"
}
},
],
"format": {
"filename": "video_mkr_temp.mp4",
"nb_streams": 3,
"nb_programs": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"format_long_name": "QuickTime / MOV",
"start_time": "0.000000",
"duration": "968.300000",
"size": "399977859",
"bit_rate": "3304577",
"probe_score": 100,
"tags": {
"major_brand": "mp42",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"creation_time": "2020-04-12T00:46:21.000000Z"
}
}
}
Любые мысли с благодарностью.
Спасибо