Извлечение нескольких объектов JSON из текстового файла - PullRequest
0 голосов
/ 26 сентября 2019

Я являюсь пользователем arch linux и сталкиваюсь с проблемой создания JSON jq.

Моя цель - запустить pacman -Qi, чтобы вывести список всех пакетов и зависимостей и преобразовать его в JSON.

Однако мне просто нужны поля Имя, Версия, Описание и URL.

Я попытался экспортировать вывод pacman -Qi с шаблонами greps с помощью следующей команды:

pacman -Qi | grep "Name\|Version\|Description\|URL" > /home/packages.txt

После того, как я попытаюсь сгенерировать JSON-файл с помощью jq с помощью следующей команды:

jq -R -n -c '[inputs|split(",")|{(.[0]):.[1]}] | add' packages.txt > packages-raw.json

После этого у меня вывод JSON не отформатирован, но, похоже, это вывод JSON.

Iотформатируйте файл с помощью

jq . packages-raw.json

JSON, кажется, отформатирован, но когда я запускаю с VScode, есть только один объект.

Не могли бы вы помочь мне с форматированием?

Заранее спасибо,

С наилучшими пожеланиями

Я хотел бы вывод как:

{
  "Name"            : "acl",
  "Version"         : "2.2.53-1",
  "Description"     : "Access control list utilities": " libraries and headers",
  "URL"             : "http://savannah.nongnu.org/projects/acl"
}

{ "Name"            : "archlinux-keyring",
  "Version"         : "20190827-1",
  "Description"     : "Arch Linux PGP keyring",
  "URL"             : "https://projects.archlinux.org/archlinux-keyring.git/"
} 

На данный момент у меня есть вывод как:

{ "Name : acl": null, "Version : 2.2.53-1": null, "Description : Access control list utilities": " libraries and headers", "URL : http://savannah.nongnu.org/projects/acl": null, "Name : archlinux-keyring": null, "Version : 20190827-1": null, "Description : Arch Linux PGP keyring": null, "URL : https://projects.archlinux.org/archlinux-keyring.git/": null, "Name : argon2": null, "Version : 20190702-1": null, "Description : A password-hashing function (reference C implementation)": null, "URL : https://github.com/P-H-C/phc-winner-argon2": null,
...