명령의 JSON 출력에서 ID 번호를 가져오는 bash 스크립트에 함수가 있습니다. 이 값을 다른 JSON 파일에 설정하고 싶습니다. 어떻게 해야 하나요?
build_vpc(){
aws ec2 create vpc --Foo "ipaddress" | jq .Vpc.VpcID
}
Output : "vpc-0f482198efba76163"
이 값을 가져와서 다른 JSON 파일에 설정하고 싶습니다.
제이슨 파일:
{
"VPC":{
"VPC_ID" : ""
}
}
답변1
다음과 같이 보일 것입니다:
jq --argjson vpcid "$(
aws ec2 create vpc --Foo "ipaddress" | jq .Vpc.VpcID
)" 'setpath(["VPC","VPC_ID"]; $vpcid)' file.json > newfile.json
의 출력은 jq .Vpc.VpcID
json으로 해석되고 $vpcid
other 변수( path 의 객체) 에 저장 jq
됩니다..VPC.VPC_ID
["VPC","VPC_ID"]
file.json
나는 위에서 당신이 file.json
처음에 보관해야 할 다른 정보를 가지고 있다고 가정하고 있습니다.고쳐 쓰다새로운 정보가 들어있습니다.
요점은 file.json
다음만 포함하는 새 콘텐츠를 만드는 것입니다.
{
"VPC":{
"VPC_ID" : "that-value"
}
}
다음 작업을 수행하면 됩니다.
aws ec2 create vpc --Foo "ipaddress" |
jq '{"VPC":{"VPC_ID":.Vpc.VpcID}}' > newfile.json