Estou tentando excluir valores diferentes de um arquivo JSON. Não é bonito e o jq retorna 1 erro de compilação. Eu estou procurando por uma solução a partir da linha de comando (awk / sed).
Aqui estão os meus dados de amostra do meu arquivo json (semelhante ao docker-compose):
aaaa"MyPorts":{"80/tcp":{},"8080/tcp":{},"9080/tcp":{},"9090/tcp":{}},aaaa
bbbb"PROTO 9080/tcp 9090/tcp"bbbbb
cccc"TEST PROTO 80 8080"ccccc
Todas as entradas podem ser encontradas várias vezes ou também em uma linha.
Depois de usar o substituto, ele deve se parecer com:
aaaaaaaa
bbbbbbbbb
cccc"TEST"ccccc
Eu tentei sed e (awk -F [\ "]), mas não consegui obter alguns resultados úteis.
Como isso pode ser feito ?
Atualização: tornei a amostra mais clara ..
Existem 3 tipos diferentes: ...:
1: Delete from "MyPorts" to }},
2. Delete "Proto to \"
3. Delete from " PROTO" till one character before \", only if left from Proto is a space
Atualização 2: Como isso pode ser feito se os dados da amostra também estiverem em uma linha, como esta:
aaaa"MyPorts":{"80/tcp":{},"8080/tcp":{},"9080/tcp":{},"9090/tcp":{}},aaaabbbb"PROTO 9080/tcp 9090/tcp"bbbbbcccc"TEST PROTO 80 8080"ccccc
Depois de usar o substituto, ele deve se parecer com:
aaaaaaaabbbbbbbbbcccc"TEST"ccccc