加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

algorithm – 文件的交集

发布时间:2020-12-16 01:34:41 所属栏目:安全 来源:网络整理
导读:我有两个大文件(27k行和450k行).他们看起来像: File1:1 2 A 53 2 B 76 3 C 8...File2:4 2 C 57 2 B 76 8 B 87 7 F 9... 我想要两个文件中的第三列都在两个文件中的行(排除了带有A和F的注释行): OUTPUT:3 2 B 76 3 C 84 2 C 57 2 B 76 8 B 8 什么是最好的方
我有两个大文件(27k行和450k行).他们看起来像:
File1:
1 2 A 5
3 2 B 7
6 3 C 8
...

File2:
4 2 C 5
7 2 B 7
6 8 B 8
7 7 F 9
...

我想要两个文件中的第三列都在两个文件中的行(排除了带有A和F的注释行):

OUTPUT:
3 2 B 7
6 3 C 8
4 2 C 5
7 2 B 7
6 8 B 8

什么是最好的方式?

awk '{print $3}' file1 | sort | uniq > file1col3
awk '{print $3}' file2 | sort | uniq > file2col3
grep -Fx -f file1col3 file2col3 | awk '{print "w+ w+ " $1 " w+"}' > col3regexp
egrep -xh -f col3regexp file1 file2

抓取两个文件中所有唯一的列3,与它们相交(使用grep -F),打印一堆与所需列匹配的正则表达式,然后使用egrep从两个文件中提取它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读