Передавать аргументы в jq при вставке ключа без интерполяции

Когда я бегу

jq --arg md "blablabla" '. + = {'content': "$md"}' blog.json

в blog.json

{
"foo": "bar"
}

я получил

{
  "foo": "bar",
  "content": "$md"
}

Желаемый результат будет:

{
  "foo": "bar",
  "content": "blablabla"
}

Попробуйте это jq --arg md "blablabla" '. + {content: $md}'

Philippe 25.04.2024 00:07

Не заключайте переменную в кавычки, если хотите, чтобы она была вычислена.

Barmar 25.04.2024 00:25

Кстати, кавычки вокруг content не верны. Они соответствуют кавычкам, которые используются для разделения всего аргумента jq.

Barmar 25.04.2024 00:26

Обратите внимание, что в этом случае ваш фильтр можно упростить до .content = $md.

pmf 25.04.2024 00:33
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
4
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Использование " вокруг $md приводит к тому, что JQ интерпретирует ваш ввод как строковый литерал вместо расширения переменных.

Доступ к переменной напрямую без кавычек

jq --arg md "blablabla" '. + {"content": $md}' blog.json

выход

{
  "foo": "bar",
  "content": "blablabla"
}

Другие вопросы по теме

Оператор вставки C# .net и Mysql завершается с ошибкой во время выполнения команды
Присвоение значения известной строке и столбцу, обновление, если оно существует, вставка, если нет (аналогично `df.loc['idx', 'col'] = value` в pandas)
Unshift против присвоения значений с помощью цикла против ручного назначения значений вручную. Какой из них быстрее?
Сохраните PDF-файл в подпапку на основе значения ячейки
Как добавить разделитель между английским и арабским текстом в ячейке
Автоматическая сортировка столбца при добавлении/удалении записи и непосредственное создание/удаление связанной строки
Ansible lineinfile — добавлять подстроку, только если она отсутствует
Присвойте значения на основе обратной комбинации двух столбцов
Какой смысл создавать таблицу без данных в SQL?
Как правильно настроить поток данных фабрики данных Azure с разностным файлом в качестве приемника?