Jq: Удалить кавычки из строк

Созданный на 8 февр. 2014  ·  4Комментарии  ·  Источник: stedolan/jq

Позвольте мне просто объяснить, какую задачу я пытался выполнить:

У меня есть файл A.json dict, и я хочу создать файл B.txt,
с одним ключом на строку и без кавычек вокруг ключей. я сближаюсь с

    cat A.json | jq 'keys[]' 

Но мне пришлось использовать cut, чтобы удалить начальные и конечные кавычки из ключей, и это сработало только потому, что они были youtube_ids и имели одинаковую длину.
Было бы здорово, если бы в jq была команда печати, которая отбрасывала лишние кавычки, которые мне не нужны.

Самый полезный комментарий

Достаточно ли хорош вариант --raw-output / -r ?

jq --raw-output 'keys[]' A.json

Все 4 Комментарий

Достаточно ли хорош вариант --raw-output / -r ?

jq --raw-output 'keys[]' A.json

Да, это. Я прочитал руководство и учебник и не нашел этого, поэтому
благодаря тонну.

В пятницу, 7 февраля 2014 г., в 15:25, Нико Уильямс, [email protected], написал :

Достаточно ли хорош вариант --raw-output / -r ?

jq --raw-output 'ключи []' A.json

Ответьте на это письмо напрямую или просмотрите его на Gi tHubhttps://github.com/stedolan/jq/issues/286#issuecomment -34518439
.

Любопытно, почему --raw-output не используется по умолчанию. Например, если я скручиваюсь, чтобы получить последний тег для репозитория GitHub, я не хочу, чтобы он был заключен в кавычки. Мне интересно, почему кто-то по умолчанию.

$ curl https://api.github.com/repos/docker/machine/releases/latest | jq -r ".tag_name"
v0.7.0

Такая обычная вещь, что я предпочел бы вариант -q если бы действительно хотел кавычек.

@subfuzion — по умолчанию jq ожидает, что ввод будет JSON, и по умолчанию выдает JSON в качестве вывода. Это хорошо соответствует симметрии между опциями -R и -r. В конце концов, буква «j» в «jq» для JSON.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги