linux 명령어 comm

파일 비교 출력하는 명령어.

$ comm
Linux 명령어 comm

Linux 명령어 comm

두 개의 정렬된 파일을 비교하여 공통된 부분을 출력하는 명령어

1. 자세한 설명

comm 명령어는 Linux에서 두 개의 정렬된 파일을 비교하고 공통된 부분이나 각 파일에만 있는 데이터를 출력하는 데 사용됩니다. 세 개의 열로 구성된 결과를 제공하며, 파일 간의 차이점과 공통점을 명확히 확인할 수 있습니다.

2. 사용법

  1. 파일 비교 기본 사용법
    comm [파일1] [파일2]
    두 파일을 비교하고 공통된 내용 및 차이점을 출력합니다.
  2. 열 제거 옵션 사용
    comm -1 [파일1] [파일2]
    첫 번째 파일에만 있는 내용을 제외하고 출력합니다.
  3. 공통 부분만 출력
    comm -12 [파일1] [파일2]
    두 파일 모두에 있는 공통 부분만 출력합니다.

3. 자세하게 설명

comm 명령어는 다음과 같은 열을 생성합니다:

  • 첫 번째 열: 첫 번째 파일에만 있는 내용
  • 두 번째 열: 두 번째 파일에만 있는 내용
  • 세 번째 열: 두 파일에 공통으로 있는 내용

명령어 옵션:

  • -1: 첫 번째 파일의 데이터를 출력에서 제거합니다.
  • -2: 두 번째 파일의 데이터를 출력에서 제거합니다.
  • -3: 공통 데이터를 출력에서 제거합니다.

비교를 위해 두 파일은 반드시 정렬되어 있어야 합니다.

4. 자세한 명령어 사용법

다음은 comm 명령어의 다양한 사용 예제입니다:

# 두 파일 비교
$ comm file1.txt file2.txt

# 첫 번째 파일 데이터 제외
$ comm -1 file1.txt file2.txt

# 두 번째 파일 데이터 제외
$ comm -2 file1.txt file2.txt

# 공통 데이터 제외
$ comm -3 file1.txt file2.txt

# 공통 데이터만 출력
$ comm -12 file1.txt file2.txt

# 정렬되지 않은 파일 비교
$ sort file1.txt > sorted1.txt
$ sort file2.txt > sorted2.txt
$ comm sorted1.txt sorted2.txt

# 특정 열만 출력
$ comm -1 -2 file1.txt file2.txt

# 스크립트를 통해 두 파일 자동 비교
#!/bin/bash
comm -12 <(sort file1.txt) <(sort file2.txt) > common_data.txt

# 세 파일 비교
$ comm -12 file1.txt file2.txt | comm -12 - file3.txt

# 결과를 다른 파일로 저장
$ comm file1.txt file2.txt > result.txt

# 특정 패턴을 제외한 비교
$ grep -v "pattern" file1.txt | comm - file2.txt

# 공통 부분을 출력하고 크기 확인
$ comm -12 file1.txt file2.txt | wc -l

# 로그 파일의 공통된 라인 비교
$ comm -12 <(sort log1.txt) <(sort log2.txt)

# 두 디렉터리의 파일 이름 비교
$ ls dir1 | sort > list1.txt
$ ls dir2 | sort > list2.txt
$ comm -12 list1.txt list2.txt

# 특정 파일 제외 후 비교
$ grep -v "exclude" file1.txt | comm -12 - file2.txt

# 결과를 JSON으로 변환
$ comm -12 file1.txt file2.txt | jq -R 'split("\n") | map(select(. != ""))'

# 스크립트로 파일별 공통 부분 추출
#!/bin/bash
for file in dir1/*.txt; do
  comm -12 <(sort $file) <(sort reference.txt)
done

# 정렬된 파일 비교 자동화
#!/bin/bash
sort file1.txt > sorted1.txt
sort file2.txt > sorted2.txt
comm -12 sorted1.txt sorted2.txt
            

위의 예제는 comm 명령어를 사용하여 파일 간의 공통점과 차이점을 분석하는 다양한 방법을 보여줍니다.

© 2025 Linux 명령어 설명

Categories:

No responses yet

답글 남기기