Команда:
jq ."1" example.json
не работает, поскольку кавычки интерпретируются оболочкой, и первый аргумент, который получает jq
, равен .1
.Вышеприведенная команда идентична jq .1 example.json
и не является правильной, поскольку jq
сообщает.
Вам необходимо заключить программу jq
в апострофы, чтобы оболочка не интерпретировала любой символ в ней:
jq '."1"' example.json
Таким образом, jq
получает ."1"
в качестве своей программы и с радостью интерпретирует ее.
Вы также можете поместить имя ключа в квадратные скобки (как вы уже пробовали), но это не так.Не добавляю никаких улучшений, это та же программа, только раздутая.И это дает вам больше причин поместить его в апострофы, чтобы защитить его от оболочки:
jq '.["1"]' example.json