Chinaunix
标题:
求shell & sed 方法,一个题
[打印本页]
作者:
vincent_lnfsddy
时间:
2012-04-28 13:32
标题:
求shell & sed 方法,一个题
本帖最后由 vincent_lnfsddy 于 2012-04-28 13:35 编辑
A.txt
111 222 333
444 555 212
777 123 777
123 999 123
B.txt
111 222 333
444 121 666
777 123 777
888 999 123
结果
C.txt
比如A.TXT第一列比对B.TXT第二列交集结果是
123
差集是
222
121
999
劳烦大牛使用shell、sed、awk
对比两个文件交集、两个文件差集
A.TXT文件第一列与B.TXT的第二列比对交集与差集
第一列对第三列,第三列对第二列等等。。。。
因为我们这文件有八百万行,所以我想用什么方法最快计算出来。
此题引用:
求教一个shell问题
http://bbs.linuxtone.org/forum.p ... 1&fromuid=11131
作者:
dragon23452345
时间:
2012-04-28 17:02
提示:
作者被禁止或删除 内容自动屏蔽
作者:
zooyo
时间:
2012-04-28 22:04
提示:
作者被禁止或删除 内容自动屏蔽
作者:
vincent_lnfsddy
时间:
2012-04-29 00:12
dragon23452345 发表于 2012-04-28 17:02
多谢兄弟给出grep 方法~!学习去!
作者:
vincent_lnfsddy
时间:
2012-04-29 00:13
回复
3#
zooyo
zooyo 版主谢谢你的热心:wink:
作者:
zooyo
时间:
2012-04-29 10:24
提示:
作者被禁止或删除 内容自动屏蔽
作者:
winway1988
时间:
2012-04-30 10:11
回复
6#
zooyo
x=b[j,2]
if(x==b[j,2])
是不是应该写成
x[b[j,2]]
if(b[j,2] in x)
复制代码
作者:
winway1988
时间:
2012-04-30 10:34
awk 'BEGIN{f[1]=2;f[2]=1}NR==FNR{b[$f[ARGIND]]=2;next}!a[$f[ARGIND]]++{b[$f[ARGIND]]++}END{print "Mixed:";for(i in b)if(b[i]>2)print i;print "Difference:";for(i in b)if(b[i]==2)print i}' B A
复制代码
作者:
zooyo
时间:
2012-04-30 19:47
提示:
作者被禁止或删除 内容自动屏蔽
作者:
vincent_lnfsddy
时间:
2012-05-01 21:10
感谢zooyo版主与winway1988 的热心帮助小弟受教啦!CU的能人牛人真多!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2