如何在 unix 中比较这两个大文件。
我已经尝试使用"grep -Fxvf file1.txt file2.txt | wc -l",但输出为 2,000,480,切换文件 1 和 file2 时输出为 1,999,999。
我怎样才能得到'480'的输出,因为这是我所期望的。
我也尝试过使用 diff/cmp 命令,但输出太复杂了。
我认为您想要 2 个文件中行号差异的绝对值。您可以使用awk
轻松实现它并获得不错的结果。您将读取数组中的行数,然后减去END
块中的数组值。对于纯外壳,它必须变得更加复杂。假设您生成了一些测试数据(10 和 14 行文件):
$ seq 1 10 > ten
$ seq 1 14 > fourteen
然后你做:
$ ( wc -l ten ; wc -l fourteen ) | awk '{ print $1}' | sort -rn | xargs -J % echo % - p | dc
结果:
4
但更好的方法是只做 3 行(获取file1
字数,然后file2
然后减去)