如何反转gcloud查询返回的指定字段内多值序列
问题解答
你可以直接通过gcloud原生的格式化配置实现该需求,不需要借助额外的Bash工具。
gcloud的--format参数内置了字符串和列表处理的转换函数,你需要的不是排序函数sort(),而是「拆分字符串-反转列表-重新拼接」的链式操作,具体写法如下:
假设你要处理的目标字段名为FieldName,原本的CSV导出指令为:
gcloud <你的原有查询参数> --format="csv(FieldName)"
将格式部分修改为如下内容即可:
gcloud <你的原有查询参数> --format="csv(FieldName.split(',').reverse().join(','))"
效果验证
如果原字段值为Item1,Item2,Item3,Item4,经过上述转换后输出结果为Item4,Item3,Item2,Item1,完全符合你需要的字段内取值反转的要求。
注意事项
如果你的字段取值中本身包含逗号(且有对应的转义规则),直接用split(',')会拆分错误,这种场景才建议配合Bash工具做更复杂的转义兼容处理,普通无转义逗号的场景下上述原生写法可以直接使用。
内容的提问来源于stack exchange,提问作者NewKidOnTheBlock
相关产品推荐
相关产品推荐

