comm 逐行比较两个已排序文件,输出三列:仅文件1有的、仅文件2有的、两者共有的行。

输出格式

含义
第1列仅在文件1中
第2列仅在文件2中
第3列两者共有

核心选项

选项作用
-1隐藏第1列
-2隐藏第2列
-3隐藏第3列

常用组合

comm -12 file1 file2  # 只显示交集(两者共有)
comm -23 file1 file2  # 只显示文件1特有
comm -13 file1 file2  # 只显示文件2特有

示例

# fruits_A.txt: Apple, Banana, Orange
# fruits_B.txt: Apple, Grape, Orange
 
comm fruits_A.txt fruits_B.txt
# 输出:
#         Apple
# Banana
#         Grape
#         Orange
 
comm -12 fruits_A.txt fruits_B.txt
# 输出:Apple, Orange

注意

文件必须预先排序

sort unsorted.txt > sorted.txt
comm sorted1.txt sorted2.txt

使用 --check-order 检查排序,--nocheck-order 跳过检查。