有没有办法合并来自 cli 输出的列?

Is there a way to combine columns from cli output?

我想获取格式为 (address:port) 的 memorydb 端点 URL。当我 运行 aws cli 命令 aws memorydb describe-clusters --cluster-name xxx --query 'Clusters[0].ClusterEndpoint' --output text 时,我得到的输出为(地址端口)。

我想以 (address:port) 的格式获取它。有没有我可以用来添加“:”以组合地址和端口号的命令。

谢谢

可以通过使用简单的 sed 来实现,像这样:

aws memorydb describe-clusters --cluster-name abctest --query 'Clusters[0].ClusterEndpoint' --output text | sed 's/\t/:/g'

clustercfg.abctest.xxxx.memorydb.region-x-1.amazonaws.com:6379

已使用 aws cli 进行测试。 describe-clusters 输出包含制表符,而不是单个 space。看看这是否适合你。

假设您已将变量设置为您发布的字符串,即

x='(address port)'

你可以使用参数展开来计算

y=${x/ /:}

将第一个 space 替换为冒号,并在 y 上为您提供值 (address:port).