POSIX 시스템에는 예전부터 comm이라는 명령이 기본적으로 설치되어 있다. 이 명령을 이용하면 파일이나 프로그램의 실행결과를 서로 비교하여 그 공통점이나 차이점을 살펴보는 것이 용이하다.
두 개의 파일이 존재하고 그걸 비교하여 공통점을 찾는 명령은 다음과 같다.
comm -12 file1.txt file2.txt
comm에 사용할 수 있는 옵션은 -1, -2, -3인데, 각각의 의미는 다음과 같다.
위 예제에서 -12를 사용했기 때문에 첫번째 파일과 두번째 파일에 존재하는 내용을 모두 제외하고 공통적으로 존재하는 내용만 출력하게 된다.
여러 가지 조합이 만들어질 수 있다. 실제로 두 개의 옵션 조합을 마치 idiom처럼 사용한다.
<() 문법을 이용하여 표준 입력을 각각 파일 아규먼트처럼 사용할 수도 있다.
comm -12 <(echo 1; echo 2; echo 4) <(echo 2; echo 3; echo 4)
2
4
comm -23 <(echo 1; echo 2; echo 4) <(echo 2; echo 3; echo 4)
1
comm -31 <(echo 1; echo 2; echo 4) <(echo 2; echo 3; echo 4)
3
comm -1 <(echo 1; echo 2; echo 4) <(echo 2; echo 3; echo 4)
(아래 출력 예시는 indentation때문에 underscore을 일부러 붙였음)
__2
3
4
comm -2 <(echo 1; echo 2; echo 4) <(echo 2; echo 3; echo 4)
(아래 출력 예시는 indentation때문에 underscore을 일부러 붙였음)
1
2
4
comm -3 <(echo 1; echo 2; echo 4) <(echo 2; echo 3; echo 4)
(아래 출력 예시는 indentation때문에 underscore을 일부러 붙였음)
1
3