我必须比较大文本文件以确定file1和file2之间的区别。每个文件都包含域名。文件大小:2GB。
Content sample:
domain1.com
domain2.com
我更愿意使用unix工具来获得结果。基本上我想输出file1中的所有行,这些行在file2中不存在。一般来说,我想要完成的是确定过期域列表。
提前致谢。
答案 0 :(得分:1)
作为第一次剪辑,我会尝试以下内容:
comm -13 <( sort file1 ) <( sort file2 )
这将为您提供仅在file2中出现的行。你可能会惊讶地发现这实际上有多快,因为考虑单线班的努力程度是多少。
如果您经常这样做,最好保持文件排序,然后只需comm
即可。如果您的文件包含许多重复项,您可以通过在排序后执行| uniq
来节省一些时间。
答案 1 :(得分:0)
您可以尝试diff
diff file1 file2
答案 2 :(得分:-1)
使用grep,您可以指定一个文件来从(-f file1
)读取模式,并通过-v
取消输出,即打印不匹配:
grep -v -f file1 file2