0

我是 awk 的新手,我想问一下……我有一个这样的 csv 文件

IVALSTART  IVALEND   IVALDATE
23:00:00   23:30:00  4/9/2012

STATUS  LSN      LOC
K       lskpg    1201
K       lntrjkt  1201
K       lbkkstp  1211

我想像这样改变

IVALSTART  IVALEND
23:00:00   23:30:00

STATUS  LSN      LOC   IVALDATE
    K   lskpg    1201   4/9/2012
    K   lntrjkt  1201   4/9/2012
    K   lbkkstp  1211   4/9/2012

如何在awk中做到这一点?

谢谢和最好的问候!

4

1 回答 1

2

尝试这个:

awk '
NR == 1 { name = $3; print $1, $2 }
NR == 2 { date = $3; print $1, $2 }
NR == 3 { print "" }
NR == 4 { $4 = name; print } 
NR >  4 { $4 = date; print }
' FILE

如果您需要格式化,则有必要使用适当的说明符 更改print为。printf

于 2012-04-12T07:41:39.307 回答