У меня есть текстовый файл, который содержит следующий вывод JSON. Я хотел бы иметь возможность объединять данные всякий раз, когда "IP" содержится в группах. Я хотел бы использовать jq или sed / awk. Я открыт для любых других команд bash.
{"Front":[
{"Name":"new.domain.com-80", "Out":"8.8.8.8", "In":"192.168.2.2:80", "W Name":"new.domain.com-80", "Groups":"192.168.3.29:80 192.168.3.30:80"},
{"Name":"new.domain.com -443", "Out":"8.8.8.8", "In":"192.168.2.2:443", "W Name":"new.domain.com-443", "Groups":"192.168.3.29:443 192.168.3.30:443"}
]}
{"Back":[
{"REC":"", "IP":"192.168.3.30", "Host":"new2.domain.com", "Info":"Worker5 MD: Data source - Owner: Q"},
{"REC":"Q", "IP":"192.168.3.29", "Host":"new3.domain.com", "Info":"Worker5 MD: Data source - Owner: Q"},
{"REC":"Q"}
]}
Если IP содержится в группах, добавьте Host & Info. Мы можем игнорировать RE C
Ожидаемый результат:
{"Front":[
{"Name":"new.domain.com-80", "Out":"8.8.8.8", "In":"192.168.2.2:80", "W Name":"new.domain.com-80", "Groups":"192.168.3.29:80 192.168.3.30:80", "Host":"new2.domain.com,new3.domain.com", "Info":"Worker5 MD: Data source - Owner: Q,Worker5 MD: Data source - Owner: Q"},
{"Name":"new.domain.com-443", "Out":"8.8.8.8", "In":"192.168.2.2:443", "W Name":"new.domain.com-443", "Groups":"192.168.3.29:443 192.168.3.30:443", "Host":"new2.domain.com,new3.domain.com", "Info":"Worker5 MD: Data source - Owner: Q,Worker5 MD: Data source - Owner: Q"}
]}