在 Linux 中通过比较两个文件打印不匹配的数字

在 Linux 中通过比较两个文件打印不匹配的数字

例如我有两个文件

file1.txt 包含两列,中间用 分隔:

1111:2222

3333:4444

5555:6666

7777:8888

文件2.txt

1111:2222

3333:4444

5555:6666

我想比较第二列,所需的输出应该是 7777:8888

答案1

假设你想用作file1.txt参考,即给我所有file1.txt未出现在的内容,file2.txt那么你可以使用通信命令:

comm -23 file1.txt file2.txt

另外,如果您想从文件/输出中删除空行,可以使用sed在比较之前,先删除它们:

comm -23 <(sed '/^$/d' file1.txt) <(sed '/^$/d' file2.txt)

答案2

我认为您的意思是“行”,而不是“列”(行从左到右,列从上到下)。

您正在寻找的命令是

diff file1.txt file2.txt

相关内容