Linux에서comm 명령을 사용하는 방법

Linux에서comm 명령을 사용하는 방법

2022-06-03 last update

7 minutes reading Linux Commands
comm 명령은 Linux에서 서로 다른 파일을 비교하는 데 사용되며, 이 명령은 파일의 모든 줄을 비교하고, 파일의 유일한 줄과 공통 줄을 단독 열에 표시합니다.프로그래머는 항상 파일을 비교해야 한다.그들이 시간의 추이에 따라 프로그램에서 수정한 것을 알아야 할 때.
본고에서, 우리는comm 명령이 Linux에서 사용되는 것을 상세하게 설명할 것이다.

Linux에서comm 명령을 사용하는 방법


comm 명령은 두 파일을 한 줄씩 비교하는 데 사용됩니다. comm 명령의 일반적인 구문은 다음과 같습니다.
$ comm [option] FILE_NAME1 FILE_NAME2
상기 명령 문법은 세 열에 결과를 표시합니다.첫 번째 열에는 파일 1의 고유 행이 표시되고 두 번째 열에는 파일 2의 고유 행이 표시되며 세 번째 열에는 두 파일의 공통 행이 표시됩니다.
우리는comm 명령에서 몇 가지 옵션을 사용할 수 있다.몇 가지 일반적인 옵션은 다음과 같습니다.
옵션
설명하다
-1
파일 1의 고유한 행을 포함하는 결과 첫 번째 열은 표시되지 않습니다.
-2
파일 2의 고유한 행을 포함하는 두 번째 열은 결과를 표시하지 않습니다.
-3
두 파일의 공통 행을 포함하는 결과 세 번째 열은 표시되지 않습니다.파일 1 및 파일 2
주문 확인
두 파일의 모든 행이 올바르게 정렬되었는지 확인합니다.
– 주문 확인 없음
정렬 순서를 확인하지 않고 결과만 표시합니다.
도움말
도움말 메시지 프롬프트가 표시되고 종료됩니다.
버전
정보의 버전을 표시하고 종료합니다

이것은 결과의 열당 본점 수를 표시할 것이다
-z, – 구분자 없음
열 대신 파일이 개별적으로 표시됩니다.제로 구분자 값이 비어 있습니다.
- 출력 구분자 = [모든 문자]
결과에 배치할 문자를 사용하여 결과의 공백을 대체합니다.
이 모든 옵션을 이해하기 위해서 우리는 두 개의 텍스트 파일을 고려할 것이다.mytestfile1.txt와 mytestfile2.txt, 다음 명령을 사용하여 내용을 표시할 수 있습니다.
$ cat mytestfile1.txt

$ cat mytestfile2.txt

우선, 우리는 어떤 옵션도 없이comm 명령을 사용하여 두 파일을 비교할 것입니다. 그러기 위해서는 다음 명령을 사용해야 합니다.
$ comm mytestfile1.txt mytestfile2.txt

모두가 알다시피comm 명령은 정렬된 파일에 적용되고 명령의 주어진 파일이 정렬되지 않았기 때문에'파일 정렬되지 않음'경고를 생성합니다. 이 주석을 삭제하려면 "-nocheck order"로고를 사용합니다. 이 로고는 정렬 순서를 무시하고 결과를 보여 줍니다.
$ comm --nocheck-order mytestfile1.txt mytestfile2.txt

위 그림에서 결과를 더 잘 이해하기 위해 세 열을 표시했습니다. 첫 번째 열은 mytestfile1의 유일한 줄을 보여 줍니다.txt, "Fedora"만 있고 두 번째 열은 mytestfile2의 유일한 줄을 표시합니다.txt, "Debian"전용, 마지막 열에는 두 파일의 공통 줄이 표시됩니다.첫 번째 열 (mytestfile1.txt의 유일한 줄) 과 세 번째 열 (이 두 파일의 공통 줄) 을 표시하려면 "-2"로고를 사용하여 두 번째 열을 억제합니다.
$ comm -2 --nocheck-order mytestfile1.txt mytestfile2.txt

마찬가지로 다음 명령을 실행하여 열 1, 열 2를 억제하고 열 3 (두 파일을 포함하는 공통 줄) 만 표시할 수 있습니다.
$ comm -12 --nocheck-order mytestfile1.txt mytestfile2.txt

결과가 표시되는 세 번째 열만 내보냅니다. 각 열의 총 수를 찾기 위해 다음 명령을 사용합니다.
$ comm --total --nocheck-order mytestfile1.txt mytestfile2.txt

두 파일의 정렬 순서가 정확한지 확인하려면 "-check order"로고를 사용하여comm 명령을 실행하십시오.
$ comm --check-order mytestfile1.txt mytestfile2.txt

그 결과 파일 1은 알파벳순으로 오름차순이나 내림차순으로 정렬되지 않았기 때문에 순서대로 정렬되지 않았습니다. 이와 유사하게 "-0 구분자"로고를 사용합니다.
$ comm --zero-terminated mytestfile1.txt mytestfile2.txt

마찬가지로, 우리는comm 명령에서 "-output delimiter=**"를 사용하여 공백을 "star(*)"로 바꿀 수 있습니다.
$ comm --output-delimiter=** --nocheck-order mytestfile1.txt mytestfile2.txt

comm 명령의 버전을 확인하려면 다음과 같이 하십시오.
$ comm --version

comm 명령에 대한 자세한 내용을 보려면 다음 명령을 사용하여 설명서를 볼 수 있습니다.
$ man comm


결론


comm 명령은 Linux에서 정렬된 파일의 줄을 비교하는 데 사용되지만, diff 명령과 vim 편집기 등 다른 방법도 있습니다.comm 명령은 사용하기 쉬우므로 파일에 스크립트가 포함되어 있고 더 간단한 비교만 필요한 상황에서 사용하는 것을 권장합니다.본고에서 우리는 예시를 통해comm 명령과 그 각종 옵션을 간단명료하게 토론하였다.