- 论坛徽章:
- 25
|
本帖最后由 wh7211 于 2021-06-23 18:15 编辑
回复 1# ontherd
- cat 1
- A i 1
- A i 2
- A i 3
- A o 1
- A o 2
- B i 2
- B i 3
- B o 1
- B o 2
- B o 3
- awk 'function p(x,y){l=length(x)>length(y)?length(x):length(y);for(i=1;i<=l;i++){x[i]=x[i]?x[i]:" ";y[i]=y[i]?y[i]:" ";print b,x[i],y[i]};delete x;delete y;d=f=0}BEGIN{print " i o"}!a[$1]++&&NR>1{p(c,e)}$2=="i"{b=$1;c[++d]=$3}$2=="o"{e[++f]=$3}END{p(c,e)}' 1
- i o
- A 1 1
- A 2 2
- A 3
- B 2 1
- B 3 2
- B 3
- awk 'BEGIN{print " i o"}$2=="i"{if(!a[$1$2]++){c=0};b[$1][++c]=$3}$2=="o"{if(!a[$1$2]++){e=0};d[$1][++e]=$3}END{for(i in b){l=length(b[i])>length(d[i])?length(b[i]):length(d[i]);for(j=1;j<=l;j++){b[i][j]=b[i][j]?b[i][j]:" ";d[i][j]=d[i][j]?d[i][j]:" ";print i,b[i][j],d[i][j]}}}' 1
- i o
- A 1 1
- A 2 2
- A 3
- B 2 1
- B 3 2
- B 3
复制代码 |
|