【发布时间】:2018-03-14 00:15:23
【问题描述】:
我有一个这样的字符串:
zone=INTERNET|status=good|routed=special|location=001|resp=user|switch=not set|stack=no|dswres=no|CIDR=10.10.10.0/24|allowDuplicateHost=disable|inheritAllowDuplicateHost=true|pingBeforeAssign=enable|inheritPingBeforeAssign=true|locationInherited=true|gateway=10.10.10.100|inheritDefaultDomains=true|inheritDefaultView=true|inheritDNSRestrictions=true|name=SCB-INET-A
分隔符| 内的顺序可以是随机的 - 这意味着键值对可以在字符串中随机排序。
我想要一个如下的输出字符串:
"INTERNET","10.10.10.0/24","SCB-INET-A"
输出中的所有值都是来自上述键值字符串的值
有谁知道我如何用 awk 或 sed 解决这个问题?
【问题讨论】:
-
欢迎来到 StackOverflow!你试过什么?我们这里的大多数人都很乐意帮助你提高你的手艺,但作为短期无偿编程人员不太乐意。在MCVE 中向我们展示您迄今为止的工作、您期望的结果和您得到的结果,我们将帮助您解决问题。您已经为 bash、awk 和 sed 添加了标签,所以我希望在您的尝试中看到所有这三个中的代码。
-
在您的帖子中也使用代码标签作为您的示例输入和示例输出。
-
对我来说听起来像是一项家庭作业。请添加您尝试过的和不适合您的。
-
如此独立于您的输入,您想输出区域、网关和名称的值吗?
-
@DmitriChubarov 好的,完成。请参阅您的答案。我没有反对它的冲动 - 你试了一下。