Инструмент jq
, который я использую в этом ответе, может быть загружен изhttps://stedolan.github.io/jq/(даже для Solaris )и установлен в домашнем каталоге не -пользователя root без какого-либо доступа root. Кроме того, он вообще не имеет никаких зависимостей во время выполнения.
В документе JSON нет «второго столбца». Ваш документ также может быть написан
[
{
"FRUIT": "APPLE",
"CAR": "FORESTER",
"COMPANY": "SUBARU",
"MAKE": "2015",
"CITY": "UNION CITY",
"STATE": 0,
"COUNTRY": 0,
"LOCATION": 0,
"RANK": "1"
},
{
"FRUIT": "MANGO",
"CAR": "OUTBACK",
"COMPANY": "SUBARU",
"MAKE": "2017",
"CITY": "EDISON",
"STATE": 0,
"COUNTRY": 0,
"LOCATION": 0,
"RANK": "2"
}
]
Добавленный пробел не влияет на фактические данные JSON.
Чтобы извлечь значения всех записей, соответствующих ключу CAR
, используйте jq
синтаксический анализатор JSON командной строки:
$ jq '.[].CAR' file.json
"FORESTER"
"OUTBACK"
Выражение .[].CAR
означает «Для каждого элемента верхнего -самого массива вернуть значение ключа CAR
».
Если вы хотите, чтобы в выводе не было кавычек, добавьте-r
(или--raw-output
)к вызову jq
. Это вернет декодированные данные.