【发布时间】:2020-09-12 15:53:26
【问题描述】:
我有一个名为 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/\]//')
感谢您的回答!
【问题讨论】:
-
所以 - 最后,您将使用适当的 JSON 工具来处理 JSON 对象,这是正确的做法。回到您的正则表达式 - 底线(如 Viktor 的回答所示)是您可以包含字符集中的所有字符。在字符集中具有特殊含义的那些(非常小的数字)仍然可以包括在内 - 它们只是必须位于其“特殊含义”没有意义的位置。例如:右括号紧跟在开头的括号之后(只能表示文字
],在那里作为元字符没有意义),或者在类的末尾加上破折号-