我有两个制表符分隔的文件,每个文件有 15 列,n 和 m 行。
文件 1 中的行数大于文件 2 的行数,例如文件 1 有 15 行文件 2 中不存在
我怎样才能找出这些行?
谢谢
该comm
命令将查找任一文件独有的行或两者共有的行。
comm -23 <( sort file1 ) <( sort file2 )
将仅打印 file1 中的行(仅在 file2 中的行和公共行由-2
and-3
选项抑制。必须对文件进行排序;它们如何排序并不重要,只要它们都在同一个键上排序并以同样的方式。
这有帮助吗?
awk 'NR==FNR{a[$0];next}!($0 in a)' file2 file1
join命令可能会有所帮助,尤其是-a选项:
-a FILENUM 打印来自文件 FILENUM 的不可配对行,其中 FILENUM 为 1 或 2,对应 FILE1 或 FILE2