0

是否有一种简单(即非循环)的方法可以在 bash 中获取一个数组并用之前的元素值填充任何空元素。

用例是获取一组异步时间序列数据点,并将它们与时间外连接作为公共列。然后对于每个数据列,找到任何空值并用该系列中前一个数据点的值填充该点。

于是两个系列

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  
4

1 回答 1

0

如果您将for上面评论中的循环体更改为

{ if (!x[i]) x[i] = x[i-1]; print x[i] }

,它也适用于连续的空值。

如果 AWK 脚本对于您的用例来说太慢了,并且既然您提到了 R,为什么不使用 R?

于 2013-08-29T08:10:07.607 回答