寻找一个linux命令-连接两个文件-按姓氏排序并删除重复项-存储在新文件中[已关闭]

tjvv9vkg  于 2022-11-22  发布在  Linux
关注(0)|答案(2)|浏览(86)

已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

8天前关闭。
Improve this question
我试图连接两个文件,按姓氏排序,删除重复项并将其存储在一个新文件中。
文件的:“名字姓氏”
文件A+文件B--〉文件C
我尝试使用sort命令:
sort -uk 2文件A文件B〉文件C
问题是此命令会删除姓氏相同但名字不同的姓名。
“汉斯·史密斯”+“汉斯·史密斯”--〉只保留一个“汉斯·史密斯”。“弗里德里希·鲍尔”+“科林·鲍尔”--〉两个都保留。
有什么想法吗?

cpjpxq1n

cpjpxq1n1#

首先对整行进行排序并删除重复项,然后按第二个字段进行排序:

sort -u fileA fileB | sort -k2 > fileC
q5lcpyga

q5lcpyga2#

可以将排序和删除重复项分为两个操作。首先对-k2进行排序,然后使用uniq删除重复项。

sort -k2 fileA fileB | uniq > fileC

或者,也在名字上加上sort

sort -u -k2 -k1 fileA fileB > fileC

相关问题