명령어/Linux

[리눅스] comm 정렬된 두 파일 공통 차이 비교

jykim23 2026. 7. 13. 17:00
반응형

부제: 정렬된 두 파일에서 공통 줄과 각자만 있는 줄을 나누기

comm a.txt b.txt        # 3열: a만 / b만 / 공통
comm -12 a.txt b.txt    # 공통 줄만
comm -23 a.txt b.txt    # a에만 있는 줄
$ comm -12 a.txt b.txt
banana
cherry

comm은 정렬된 두 파일을 줄 단위로 비교해 3열로 나눈다.
1열은 첫 파일에만, 2열은 둘째에만, 3열은 공통이다.
-12는 공통만, -23은 첫 파일에만 있는 줄을 뽑는다. 두 목록의 교집합·차집합을 구할 때 쓴다.

이렇게도 쓴다

두 목록의 공통(교집합)만 뽑는다(정렬은 즉석에서).

comm -12 <(sort list1) <(sort list2)

 

첫 목록에만 있는 것(차집합)을 뽑는다.

comm -23 <(sort a) <(sort b)

 

양쪽에서 서로 다른 줄만 본다(-3).

comm -3 <(sort old.list) <(sort new.list)

 

정렬 안 된 파일도 즉석에서 정렬해 비교한다.

comm <(sort a.txt) <(sort b.txt)
반응형