如果条目为空白,打印上述字段的最佳方法是什么?
E.g:
0.01 0:00 2014-06-01
0.04 0:20
0.08 0:40
0.14 1:00
0.21 1:20
0.04 0:00 2014-06-02
0.04 0:20
0.06 0:40
成为:
0.01 0:00 2014-06-01
0.04 0:20 2014-06-01
0.08 0:40 2014-06-01
0.14 1:00 2014-06-01
0.21 1:20 2014-06-01
0.04 0:00 2014-06-02
0.04 0:20 2014-06-02
0.06 0:40 2014-06-02
我试过用awk,但没有运气。
答案 0 :(得分:3)
$ awk '{$3=($3?$3:p);p=$3}1' file
0.01 0:00 2014-06-01
0.04 0:20 2014-06-01
0.08 0:40 2014-06-01
0.14 1:00 2014-06-01
0.21 1:20 2014-06-01
0.04 0:00 2014-06-02
0.04 0:20 2014-06-02
0.06 0:40 2014-06-02
答案 1 :(得分:0)
awk '
NF==3 {t=$3}
NF==2 {$3=t}
1' file
答案 2 :(得分:-1)
使用awk:
NF == 3 { date=$3; print; }
NF == 2 { $3=date; print; }
我之前的尝试插入了额外的空间。 @ EdMorton的变体更酷:)