比较unix中的两个文件,并将delta添加到一个文件中

时间:2017-02-20 22:49:51

标签: linux shell

两个文件都包含最少2000行的字符串和数字数据。 如何将file2.txt的非重复数据添加到file1.txt。 基本上file2有新的数据行,但我们也想确保我们没有向file1.txt添加重复的行。

  • File1.txt>这是主要的数据文件
  • File2.txt>此文件包含我们要添加到file1的新数据

谢谢,

4 个答案:

答案 0 :(得分:4)

将这两个文件与-u选项一起排序,以删除重复项。

sort -u File1.txt File2.txt > NewFile.txt && mv NewFile.txt File1.txt

答案 1 :(得分:2)

另一个选项如果文件已经排序,只是为了有一些选择(我喜欢comm :))

comm --check-order --output-delimiter=''  -13 File1.txt File2.txt >> File1.txt

答案 2 :(得分:1)

您可以使用grep,如下所示:

# grep those lines from file2 which are not in file1
grep -vFf file1 file2 > new_file2
# append the results to file1
cat new_file2 >> file1

答案 3 :(得分:1)

使用awk:

awk '!a[$0]++' File1.txt File2.txt