尋ねる:
aws ec2 describe-vpcs --region us-east-1 |
grep -w "VpcId\|CidrBlock" |
cut -d ":" -f2 | tr -d '[','"',',','{',' '
ソート前の生出力:
[
{
"VpcId": "vpc-xxxx",
"CidrBlock": "1.0.0.0/16",
"OwnerId": "1234567890"
}
]
[
{
"VpcId": "vpc-xxxx",
"CidrBlock": "2.0.0.0/16",
"OwnerId": "1234567890"
}
]
ソート後の出力:
vpc-xxxxxx
1.0.0.0/16
1234567890
vpc-xxxxxx
2.0.0.0/16
1234567890
この形式で出力したいです。
vpc-xxxxxx|1.0.0.0|1234567890
vpc-xxxxxx|2.0.0.0|1234567890
誰でも私を助けることができますか?
答え1
私はawsのクエリを使用してからawk
(そしていくつかtr
)
aws ec2 describe-vpcs --region us-east-1 --query 'Vpcs[].{VpcId: VpcId, CidrBlock: CidrBlock}'|
tr -d '",' |
awk -F: '$1 ~/VpcId/ { vpc=$2 } $1 ~ /CidrBlock/ { printf "%s | %s\n",vpc,$2 } '
これは(私に)
vpc-d98685b3 | 172.31.0.0/16
生出力から
[
{
"VpcId": "vpc-d98685b3",
"CidrBlock": "172.31.0.0/16"
}
]