- 論壇徽章:
- 1
|
本帖最后由 davidbeckham921 于 2013-01-07 10:44 編輯
- awk '{a[$1]++;b[$1,a[$1]-1]=$2;a[$1]>m?m=a[$1]:m=m}0END{for(i in a) for (j in a) for(k=0;k<=m;k++)if( i!=j && b[i,k]==b[j,k] && b[i,k]!="") printf "%s\t%s\t%s\n",i,j,b[j,k]}' urfile\
- |awk '{a[$1" "$2]++}END{for(i in a)print i" "a[i]}'
復(fù)制代碼 寫完已經(jīng)大小便失禁,生活不能自理了,求高手簡化。
如果沒有理解錯你的意思的話結(jié)果應(yīng)該是,跟你期望的結(jié)果稍有偏差,感覺你給的答案是不對的。比如:b d 都有111和222,所以應(yīng)該是 b d 2
a b 1
a c 1
a d 1
b a 1
b c 2
b d 2
c a 1
c b 2
c d 2
d a 1
d b 2
d c 2
求高手解釋,能否把管道后的awk合并到前面?!倆END怎么搞?! |
|