Tom*_*mek 5 bash shell awk file
我有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
...
Run Code Online (Sandbox Code Playgroud)
第二个文件是一个名字列表所以......
...
John Allen Smith II
John Doe
Jane Smith
...
Run Code Online (Sandbox Code Playgroud)
是否可以使用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
Run Code Online (Sandbox Code Playgroud)