AWK / BASH:如何匹配一个文件中的字段与另一个文件中的字段?
发布时间:2020-12-14 00:59:27 所属栏目:Linux 来源:网络整理
导读:我有2个文件,第一个包含以下内容: ...John Allen Smith II 16 555-555-5555 10/24/2010John Allen Smith II 3 555-555-5555 10/24/2010John Allen Smith II 17 555-555-5555 10/24/2010John Doe 16 555-555-5555 10/24/2010Jane Smith 16 555-555-5555 9/16
我有2个文件,第一个包含以下内容:
... John Allen Smith II 16 555-555-5555 10/24/2010 John Allen Smith II 3 555-555-5555 10/24/2010 John Allen Smith II 17 555-555-5555 10/24/2010 John Doe 16 555-555-5555 10/24/2010 Jane Smith 16 555-555-5555 9/16/2010 Jane Smith 00 555-555-5555 10/24/2010 ... 第二个文件是一个名字列表所以…… ... John Allen Smith II John Doe Jane Smith ... 是否可以使用awk(或其他bash命令)打印第一个文件中与第二个文件中的任何名称匹配的行(名称可以在第一个文件中重复) 奖金?有没有一种简单的方法可以删除第一个文件中的重复/重复行? 非常感谢, 托梅克 解决方法
AWK
#! /bin/bash awk 'FNR==NR{!a[$0]++;next }{ b[$0]++ } END{ for(i in a){ for(k in b){ if (a[i]==1 && i ~ k ) { print i } } } }' file1 file2 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |