Попытка объединить неопределенное количество файлов JSON в один, каждый из которых представлен в своем собственном ключе (используя jq
).
Пример:
$ cat foo.json
{
"test1":"Foo"
}
$ cat bar.json
{
"test2":"Bar"
}
$ jq -s "{`ls | sed -r 's/\.json$/: \./' | tr '\n' ', ' | sed 's/.$//'`}" `ls`
{
"foo": [
{
"test1": "Foo"
},
{
"test2": "Bar"
}
],
"bar": [
{
"test1": "Foo"
},
{
"test2": "Bar"
}
]
}
Как я пытаюсьвыходные данные:
{
"foo": {
"test1": "Foo"
},
"bar": {
"test2": "Bar"
}
}
Например: foo
является именем первого файла и, как ожидается, будет ключом для его содержимого в конечном выводе.
(Кроме того, я чувствую, чтона самом деле не очень приятно дважды вызывать ls
для одной и той же вещи, но не уверен, есть ли способ обойти).