с помощью sed для поиска соответствия в файл и замените его содержимым другого файла

У меня есть файл с содержимым, похожим на этот:

content.json (массив объектов)

[
{ "interval": 1, "expired": 3, "ignored": [ ".git", ".p4" ]},
{ "interval": 2, "expired": 4, "ignored": [ ".git", ".p4" ]},
]

Существует файл конфигурации, который имеет аналогичное содержимое, но различное значение.

config.json (значение объекта)

{ "interval": 3, "expired": 3, "ignored": [ ".git", ".p4" ]},
{ "interval": 4, "expired": 4, "ignored": [ ".git", ".p4" ]},

Моя цель - добавить содержимое файла config.json в файл content.json, чтобы новый файл content.json стал:

[
{ "interval": 1, "expired": 3, "ignored": [ ".git", ".p4" ]},
{ "interval": 2, "expired": 4, "ignored": [ ".git", ".p4" ]},
{ "interval": 3, "expired": 3, "ignored": [ ".git", ".p4" ]},
{ "interval": 4, "expired": 4, "ignored": [ ".git", ".p4" ]},
]

Моя идея - найти }, \ n] regex из файла content.json и его замена содержимым файла config.json. Поскольку я выполняю эти команды удаленно, моя идея состоит в том, чтобы запустить их как одну команду с помощью sed. Но почему-то я не получаю никаких надлежащая документация / помощь в sed для достижения этой цели.

Может ли кто-нибудь помочь, пожалуйста, здесь.

0
задан 15 June 2020 в 18:59

1 ответ

Your two json files are wrong.

In the first you must remove the final comma

[
{ "interval": 1, "expired": 3, "ignored": [ ".git", ".p4" ]},
{ "interval": 2, "expired": 4, "ignored": [ ".git", ".p4" ]}
]

In the last you must add square brackets and remove the last comma

[
{ "interval": 3, "expired": 3, "ignored": [ ".git", ".p4" ]},
{ "interval": 4, "expired": 4, "ignored": [ ".git", ".p4" ]}
]

Using jq on these two files and running

jq -sc add input01.json input02.json

you will have

[
{"interval":1,"expired":3,"ignored":[".git",".p4"]},
{"interval":2,"expired":4,"ignored":[".git",".p4"]},
{"interval":3,"expired":3,"ignored":[".git",".p4"]},
{"interval":4,"expired":4,"ignored":[".git",".p4"]}
]
0
ответ дан 19 June 2020 в 21:24

Другие вопросы по тегам:

Похожие вопросы: