首页 > 解决方案 > 需要帮助将三个 sed 调用合并为一个

问题描述

我有一个名为 TR_VERSION 的变量,它是一个 JSON 版本号列表,看起来像这样:

[
    "1.0.1",
    "1.0.2",
    "1.0.3"
]

我想去除所有 JSON 特定字符- ["和. 以下代码有效,但合并到一个 sed 调用而不是三个调用会很棒。,]

TR_VERSION=$(echo $VERSION \
| sed 's|[",]||g' \
| sed 's/\[//' \
| sed 's/\]//')

感谢您的回答!

标签: bashsedsh

解决方案


永远不要使用来解析

这是要走的路:

$ jq -r '.[]' < file.json

按预期输出

1.0.1
1.0.2
1.0.3

推荐阅读