我有一个包含几千行和 20 多列的文件。我现在只想保留第 3 列中与其他行具有相同电子邮件地址的行。
文件:(名字;姓氏;电子邮件;...)
Mike;Tyson;mike@tyson.com
Tom;Boyden;tom@boyden.com
Tom;Cruise;mike@tyson.com
Mike;Myers;mike@tyson.com
Jennifer;Lopez;jennifer@lopez.com
Andre;Agassi;tom@boyden.com
Paul;Walker;paul@walker.com
Run Code Online (Sandbox Code Playgroud)
我想保留所有具有匹配电子邮件地址的行。在这种情况下,预期的输出将是
Mike;Tyson;mike@tyson.com
Tom;Boyden;tom@boyden.com
Tom;Cruise;mike@tyson.com
Mike;Myers;mike@tyson.com
Andre;Agassi;tom@boyden.com
Run Code Online (Sandbox Code Playgroud)
如果我使用
awk -F';' '!seen[$3]++' file
Run Code Online (Sandbox Code Playgroud)
我将丢失电子邮件地址的第一个实例,在本例中为第 1 行和第 2 行,并且仅保留重复项。
有没有办法保留所有行?