我正在寻找使用AWS CLI --query标志裁剪单个字段的输出的方法。
例如,我可以通过管道传递到cut
命令以剪切每一行的部分,但这需要手动计算名称中的字符。
$ aws --region us-east-1 cloudwatch describe-alarms \
--query 'MetricAlarms[*].{AlarmName:AlarmName,MetricName:MetricName,Namespace:Namespace,Threshold:Threshold,Time:StateUpdatedTimestamp,State:StateValue}' \
--output table | cut -c1-50,97-147,197-500
任何人都知道一种新颖的方法来执行此操作,而不必知道(可变长度)字段长度吗?
OR
OR
aws <command> --output table
的表中?谢谢!
答案 0 :(得分:0)
我能得到的最接近的是一个管道分隔的输出,您可以使用下面的示例指定字符串字段的最大长度。你.. 下面列出的是生成管道分隔输出的示例,其中所有字符串字段都被截断为长度 10
--output table
下面列出的是它提供的输出
aws cloudwatch describe-alarms --query 'MetricAlarms[*].{"AlarmName":"AlarmName","MetricName":"MetricName","Namespace":"Namespace","Threshold":"Threshold","Time":"StateUpdated","State":"StateValue"}' --output json | jq '.[][] |= (if type == "string" then .[0:10] else .|tostring end) | .[] | join(" | ") '