JSON 파일을 구문 분석하고 일부 도커 컨테이너 이름과 실행중인 서버를 추출하는 스크립트를 작성하고 있습니다. 그런 다음 얻은 정보로 bash에서 다른 작업을 수행해야합니다. 나는 jq
을 사용하는 것에 익숙하지만 여기까지 내가 지금까지 얻은 것이있다. 당신이 dockerConfig.dockerImageName이없는 결과에서 서비스 CONFIGS의 일부를 볼 수있는JSON j-if-then-else 문제로 구문 분석
[
{
"dockerContainerName": null,
"servers": []
},
{
"dockerContainerName": "my_awesome_container",
"servers": [
"serverX01",
"serverX02"
]
},
...
...
]
:
cat env.json | jq '[.env.service.config | .[] | {dockerContainerName:.dockerConfig.dockerImageName,servers:[.allocation[].serverName]}]'
이 나에게의 출력을 제공합니다
나는 다음과 같은 실행합니다. dockerConfig가없는 것들을 걸러 내기 위해 되돌아 오는 것을 제한해야합니다. 나는 if-then-else를 사용해 보았지만 제대로 작동하는 것처럼 보일 수는 없다.
어떤 아이디어가 있습니까?
당신이 완전한'JSON'를 제공 할 수 있습니까? 당신이 필요로하는 정확한 출력을 제공 할 수 있습니까? 현재 정보가 충분하지 않습니다. – Inian