如何合并两个文件,以免重复行?

时间:2019-01-05 19:26:19

标签: bash merge

假设我有两个这样的文件:

文件1: A B C

文件2: D C B

结果文件应类似于:A B C D(顺序无关紧要)。

如果我确切知道这个机械师的名字(我可能应该有一个,对我来说就像一个OR),我可以用谷歌搜索。 使用linux命令merge/cat file1 file2 > file3会像A B C D C B这样输出每一行,但是这两个命令的手册页并未提及任何有助于此目的的内容。我想有一个像[command] [parameter] file1 file2 > file3这样的优雅解决方案,因为我可以编写一个bash脚本来做到这一点,但这似乎有些过分。

2 个答案:

答案 0 :(得分:3)

这将连接起来,然后进行排序,然后删除重复的行:

LC_ALL=C sort -u input1.txt input2.txt > output.txt

答案 1 :(得分:0)

当您不需要对输出进行排序时,可以跳过该步骤:

awk '{a[$0]} END {for (key in a) print key;}' file[12]