У меня есть файл с содержимым, похожим на этот:
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 для достижения этой цели.
Может ли кто-нибудь помочь, пожалуйста, здесь.
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"]}
]