【发布时间】:2023-02-26 14:50:29
【问题描述】:
给定两个排序数组(下面是一个示例),我想将它们与它们来自何处的信息合并到一个数组中。
x1[1]=10
x1[2]=20
x1[3]=30
x2[1]=15
x2[2]=25
x2[3]=35
输出应该是这样的。
x[1]=10
x[2]=15
x[3]=20
x[4]=25
x[5]=30
x[6]=35
a[1]=1
a[2]=2
a[3]=1
a[4]=2
a[5]=1
a[6]=2
我怎样才能使 awk 函数有效地完成这项工作?
function f(r, a, x1, x2) {
# r output merge array
# a an annotation array indicating whether an element at a given index is from x1 or x2
# x1,x2 input sorted arrays
...
}
【问题讨论】:
-
您显示的示例数组在
bash和awk中均有效;你能确认你正在寻找一个纯粹的awk解决方案吗?换句话说,你是不是希望使用awk合并一些bash数组,对吗? -
请使用您的
awk版本更新问题(例如awk --version的输出) -
都是输入数组保证从
1到n编入索引,编号之间没有间隔?
标签: awk