comm 逐行比较两个已排序文件,输出三列:仅文件1有的、仅文件2有的、两者共有的行。
输出格式
| 列 | 含义 |
|---|
| 第1列 | 仅在文件1中 |
| 第2列 | 仅在文件2中 |
| 第3列 | 两者共有 |
核心选项
| 选项 | 作用 |
|---|
-1 | 隐藏第1列 |
-2 | 隐藏第2列 |
-3 | 隐藏第3列 |
常用组合
1
2
3
| comm -12 file1 file2 # 只显示交集(两者共有)
comm -23 file1 file2 # 只显示文件1特有
comm -13 file1 file2 # 只显示文件2特有
|
示例
1
2
3
4
5
6
7
8
9
10
11
12
| # 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
|
注意
文件必须预先排序:
1
2
| sort unsorted.txt > sorted.txt
comm sorted1.txt sorted2.txt
|
使用 --check-order 检查排序,--nocheck-order 跳过检查。
Comments