Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

304
Vistas
Cambiar un valor en un archivo json usando zsh

Tengo un archivo JSON, estoy tratando de cambiar un valor particular usando un script.

 "foo-bar": "baz",

Se establece como baz en este ejemplo, pero en la práctica no sé cuál es este valor.

Quiero cambiar el valor de foo-bar desde un script más grande.

 "foo-bar": "qux",

Lo intenté

 $var='qux' jq --arg passvar ${var} '{"foo-bar":$passvar}' file.json

Obtengo la salida correcta en la terminal

 { "foo-bar": "qux" }

Pero cuando reviso el contenido real del archivo usando vim, obtengo

 "foo-bar": "baz",

jq no quiere guardar el nuevo archivo.json? ¿O es una vista previa de algún tipo? ¿Qué me estoy perdiendo? ¿Hay una mejor manera que jq para actualizar/establecer valores en un archivo json?

* editado para agregar un guión a la variable inicial, ahora es foo-bar en lugar de solo foo.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Según la documentación:

La(s) salida(s) del filtro se escriben en la salida estándar

Por lo tanto, debe redirigir la salida al archivo que desee.

 jq --arg passvar ${var} '{"foo":$passvar}' file.json > newfile.json
about 4 years ago · Juan Pablo Isaza Denunciar

0

La verdadera respuesta está aquí https://stackoverflow.com/a/42718624/1286903

 tmp=$(mktemp) jq --arg p "$p" '."foo-bar" = $p' file.json > "$tmp" && mv "$tmp" file.json

'."foo-bar" es la clave que desea editar.

Necesita hacer uso de un archivo temporal para hacer esto. Además, tenga en cuenta las comillas cuando sus variables tengan guiones.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda