【发布时间】:2021-05-13 16:23:37
【问题描述】:
我有 2 个很长的串联数组:
["MyHashMap"
"remove"
"put"
"remove"]
[[]
[27]
[65,65]
[19]]
我只是进入可视模式,y第二个数组,然后回到第一行,走到它的末尾,添加空格并点击p。变成:
["MyHashMap"
[[]
[27]
[65,65]
[19]]
"remove"
"put"
"remove"]
我想要的输出是:
["MyHashMap" [[]
"remove" [27]
"put" [65,65]
"remove"] [19]]
我怎样才能做到这一点?
【问题讨论】:
-
我发现输入和所需输出都令人困惑 - 你确定这就是你想要的吗?并不是说我认为这可以在
vim中轻松完成。 -
为什么你有 4 个左方括号
[,但有 5 个右方括号]? -
@tink 如果你能澄清什么让你特别困惑,我会非常乐意将其清除。也许您可以建议使用 sed 或 awk 的不同方法,我也欢迎。本质上:我有 2 个长输出数组,我将它们都复制了,并用
\n替换了,。这将 2 行转换为 1 个长列。现在,我想将其设为两列输入/输出,以便我可以比较这些值并找到错误所在。为了方便比较,我需要以这种方式排列 2 个以上的数组,但步骤很简单。 -
@tink 关于大括号,我只是复制了不一定对应行的示例数据,因此其中一个大括号丢失了。但在真实数据中,会有正确数量的大括号。