打印第一列相同的前两行和末尾两行

data:

AX  BX   1
AX  BX   2
AX  BX   1
AX  BX   8
AX  BX   1
AX  BX   3
AX  BX   5
CX  BX   1
CX  BX   0
CX  BX   1
CX  BX   6
CX  BX   9
EX  BX   1
EX  BX   a
EX  BX   1
EX  BX   1
EX  BX   1
EX  BX   6
EX  BX   1
EX  BX   1
EX  BX   1
EX  BX   1
EX  BX   x
EX  BX   y

 

script:

#!/bin/awk -f 
{
  a[$1,++b[$1]]=$0
}
END {
  for(i in b)
    print a[i,1]"\n"a[i,2]"\n"a[i,b[i]-1]"\n"a[i,b[i]]"\n"
}

 

result:

EX  BX   1
EX  BX   a
EX  BX   x
EX  BX   y

AX  BX   1
AX  BX   2
AX  BX   3
AX  BX   5

CX  BX   1
CX  BX   0
CX  BX   6
CX  BX   9

 

posted @ 2020-05-21 08:46  bigtree2pingping  阅读(133)  评论(0编辑  收藏  举报