Jq para reemplazar el texto directamente en el archivo (como sed -i)
Tengo un archivo json que debe actualizarse en una determinada condición.
Muestra json
{
"Actions" : [
{
"value" : "1",
"properties" : {
"name" : "abc",
"age" : "2",
"other ": "test1"
}
},
{
"value" : "2",
"properties" : {
"name" : "def",
"age" : "3",
"other" : "test2"
}
}
]
}
Estoy escribiendo un script que utiliza Jq para que coincida con un valor y una actualización, como se muestra a continuación
cat sample.json | jq '.Actions[] | select (.properties.age == "3") .properties.other = "no-test"'
Salida (impresa al terminal)
{
"value": "1",
"properties": {
"name": "abc",
"age": "2",
"other ": "test1"
}
}
{
, "value": "2",
"properties": {
"name": "def",
"age": "3",
"other": "no-test"
}
}
Si bien este comando realiza el cambio necesario, genera el json completo en el terminal y no realiza cambios en el archivo en sí.
Indique si hay una opción para que jq realice cambios en el archivo directamente (similar a sed -i).