是否有一种简单的(即非循环)方式在bash中获取数组并使用前一个元素值填充任何null元素。
用例是采用一组异步时间序列数据点,外部连接它们作为公共列的时间。然后,对于每个数据列,找到任何空值,并用该系列中前一个数据点的值填充该点。
因此两个系列
T1,1.234
T2,2.345
T3,3.456
T6,6.789
T1,1.111
T2,2.222
T5,5.555
T7,7.777
将加入制作
T1,1.234,1.111
T2,2.345,2.222
T3,3.456,2.222
T5,3.456,5.555
T6,6.789,5.555
T7,6.789,7.777
答案 0 :(得分:0)
如果您将上述评论中的for
循环体更改为
{ if (!x[i]) x[i] = x[i-1]; print x[i] }
,它也适用于连续的空值。
如果AWK脚本对于您的用例来说太慢,并且因为您提到了R,为什么不使用R?