【发布时间】:2018-12-05 23:22:51
【问题描述】:
嗨,我正在转置这多行 输入并将其转置为
nickname jeff site A site_out out 9C:02:24
nickname jeff site A site_in in 9C:02:24
nickname jeff site A in DOOR_SECT_X1 68:01:40
nickname jeff site A in DOOR_SECT_A1 68:01:10
nickname david site B site_in in EA:A7:D3
nickname david site B in EXT_MAT-G 80:16:7B
nickname martin site C in EXT_MAT-H 80:16:7B
nickname martin site C in ARR_N1D 68:01:10
nickname martin site C in ARR_N2D 68:01:10
nickname geoff site A site_out out 00:C9:AB
nickname geoff site A site_in in 00:C9:AB
nickname geoff site A in DEF_DOOR_ARR 80:07:E6
这个输出
nickname jeff site A
site_out out 9C:02:24
site_in in 9C:02:24
in DOOR_SECT_X1 68:01:40
in DOOR_SECT_A1 68:01:10
nickname david site B
site_in in EA:A7:D3
in EXT_MAT-G 80:16:7B
nickname martin site C
in EXT_MAT-H 80:16:7B
in ARR_N1D 68:01:10
in ARR_N2D 68:01:10
nickname geoff site A
site_out out 00:C9:AB
site_in in 00:C9:AB
in DEF_DOOR_ARR 80:07:E6
其中重复的“昵称”以及第二列,例如martin / geoff 被删除并仅保留一次,并且在每 4 列完成中断到下一行
我被困在这里,下面的代码返回
awk '{k=$1 FS $2 FS$3 FS$4 FS; a[k]=a[k] FS $NF}
END {for(k in a) print k "\n" a[k]}'
nickname david site B
EA:A7:D3 80:16:7B
nickname geoff site A
00:C9:AB 00:C9:AB 80:07:E6
nickname martin site C
80:16:7B 68:01:10 68:01:10
nickname jeff site A
9C:02:24 9C:02:24 68:01:40 68:01:10
谢谢你提示如何使用这个
【问题讨论】:
标签: awk pattern-matching row multiple-columns transpose