Awk 如果“当前”为空,则打印上一行
如果条目为空,打印上述字段的最佳方式是什么 例如: 成为:Awk 如果“当前”为空,则打印上一行,awk,sed,Awk,Sed,如果条目为空,打印上述字段的最佳方式是什么 例如: 成为: 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,但运气不佳。使用awk: awk ' NF==3 {t=$3} NF==2 {$
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,但运气不佳。使用awk:
awk '
NF==3 {t=$3}
NF==2 {$3=t}
1' file
NF == 3 { date=$3; print; }
NF == 2 { $3=date; print; }
我先前的尝试插入了一个额外的空间。而@EdMorton的变体则更酷:)
NF == 3 { date=$3; print; }
NF == 2 { $3=date; print; }
$ 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