我想找到两个文件之间的差异,然后只将差异放在第三个文件中。我看到了使用 awk、diff 和 comm 的不同方法。还有吗?
对于以下每种情况,我需要知道哪种方法是查找所有差异并将它们列出在文件中的最快方法 -
Case 1 - file2 = file1 + extra text appended.
Case 2 - file2 and file1 are different.
我想找到两个文件之间的差异,然后只将差异放在第三个文件中。我看到了使用 awk、diff 和 comm 的不同方法。还有吗?
对于以下每种情况,我需要知道哪种方法是查找所有差异并将它们列出在文件中的最快方法 -
Case 1 - file2 = file1 + extra text appended.
Case 2 - file2 and file1 are different.
你可以试试。。
comm -13 <(sort file1) <(sort file2) > file3
或者
grep -Fxvf file1 file2 > file3
或者
diff file1 file2 | grep "<" | sed 's/^<//g' > file3
或者
join -v 2 <(sort file1) <(sort file2) > file3
另外的选择:
sort file1 file2 | uniq -u > file3
如果您只想查看重复条目,请使用“uniq -d”选项:
sort file1 file2 | uniq -d > file3
您也可以尝试包含 md5-hash-sums 或类似的东西来确定是否有任何差异。然后,只比较具有不同哈希的文件......
这将很快奏效:
案例 1 - File2 = File1 + 附加的额外文本。
grep -Fxvf File2.txt File1.txt >> File3.txt
文件 1:80 行 文件 2:100 行 文件 3:20 行