命令行:合并并保留两个文件的所有信息

命令行:合并并保留两个文件的所有信息

如何合并并保留这两个文件的所有信息?

$ cat file1.txt           
apple
cool
dude
flan

$cat file2.txt           
apple
ball
cool
dude
elephant

得到这样的结果:

$cat result.txt
apple
ball
cool
dude
flan
elephant

基本上,它会从两个文件中获取除重复项之外的所有条目。谢谢

答案1

合并并保留两个文件的所有信息

使用以下命令:

diff -DNAME file1.txt file2.txt | awk '!/NAME/' > result.txt

您必须确保该字符串NAME不会出现在任何一个文件中(否则请使用其他未出现的字符串)。

例子:

$ cat file1.txt
apple
cool
dude
flan
$ cat file2.txt
apple
ball
cool
dude
elephant
$ diff -DNAME file1.txt file2.txt | awk '!/NAME/' > result.txt
$ cat result.txt
apple
ball
cool
dude
flan
elephant

请注意,各行的顺序与您的要求相同。


进一步阅读

答案2

我能想到的最简单的解决方案:

sort -u file1.txt file2.txt > result.txt

答案3

diff --old-line-format='%L' --new-line-format='%L' file1.txt file2.txt

相关内容