16

我有两个包含唯一排序单词列表的文本文件:

文件 1:

a
b
c
d

文件 2:

b
c

我需要一个仅包含文件 1 中无关行的新文件,因此结果将是

a
d
4

3 回答 3

19

comm是为了:

comm -- 选择或拒绝两个文件共有的行

你要

comm -23 "File 1" "File 2"

这将抑制仅在文件 2 中的行和两个文件中的行的输出只在文件 1 中留下行。Greg Wooledge 的 wiki 上的 更多答案

于 2013-01-22T02:35:19.390 回答
7

您可以使用grep

grep -f file1.txt -vFx file2.txt

请注意标志F, --fixed-stringsx, --line-regexp, 的使用,以强制执行考虑整行的比较。

于 2013-01-22T02:21:07.107 回答
3

试试这个

$ join file1.txt file2.txt -v 1

$ man join

-a FILENUM
   print unpairable lines coming from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2
-v FILENUM
   like -a FILENUM, but suppress joined output lines
于 2013-05-30T14:46:20.587 回答