如何比较unix中的这2个大文件。
我已经尝试过使用'grep -Fxvf file1.txt file2.txt | wc -l'但输出为2,000,480,当切换file1和file2时输出为1,999,999。
我怎样才能获得'480'的输出,因为这就是我所期待的。
我也尝试过使用diff / cmp命令,但输出太复杂了。
你们有什么想法吗?
提前感谢您度过愉快的一天。 Godbless!
答案 0 :(得分:0)
我认为您想要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
然后减去)