
Vamos pegar um arquivo com, por exemplo:
"test": [
{
}
],
"test": [
{
"name":"bob",
"age":21
}
]
Existe uma maneira de um regex minimizar o código em algo assim:
"test": [{}],
"test": [{"name":"bob","age":21}]
Responder1
Supondo que as duas chaves test
sejam realmente únicas (a segunda test
substituiria a primeira test
ao analisá-la com um analisador JSON) e que o documento seja um documento JSON bem formado, use jq -c
para produzir uma versão compacta dele.
Aqui, alterei os nomes das chaves para que sejam exclusivas e encapsulei o fragmento JSON em um objeto anônimo:
$ cat file.json
{
"test1": [
{}
],
"test2": [
{
"name": "bob",
"age": 21
}
]
}
$ jq -c . file.json
{"test1":[{}],"test2":[{"name":"bob","age":21}]}
O .
na linha de comando é um jq
filtro que passa o documento sem modificar o conteúdo.