我有两个文件file1.txt(较大)和file2.txt(较小),并且仅当新行不重复时,我才想将第二个文件的内容合并到第一个文件中。
我使用了此命令
sudo sh -c "sort -u test_1.txt test_2.txt > test_3.txt ; mv test_3.txt test_1.txt"
我只是想知道这是否是一种可扩展的方法,特别是如果我有两个以上的文件。
答案 0 :(得分:1)
如果您的文件file1.txt
... filen.txt
已经排序,则可以进行合并排序:
sort -m -u file1.txt ... filen.txt
这肯定是最快的。如果您的文件未排序,则可以不带合并标志就可以做到:
sort -u file1.txt ... filen.txt
如果您不关心任何形式的排序,则可以使用以下awk行:
awk '!($0 in a){a[$0]; print}' file1.txt ... filen.txt
答案 1 :(得分:0)
如果您不关心保持行顺序,则可以使用sort和uniq。
41590.6753233101 11/12/2013 4:12:28 PM
41593.7843996875 11/15/2013 6:49:32 PM
41593.7844002199 11/15/2013 6:49:32 PM
41593.7844007638 11/15/2013 6:49:32 PM