'comm' 명령을 사용하여 두 개의 정렬된 파일을 비교합니다.

WBOY
풀어 주다: 2024-01-08 14:50:27
앞으로
859명이 탐색했습니다.
소개 Linux의 comm 명령을 사용하면 사용자가 두 개의 정렬된 파일을 한 줄씩 비교할 수 있습니다. 이 튜토리얼에서는 이해하기 쉬운 몇 가지 예를 사용하여 이 명령줄 도구에 대해 설명합니다. 시작하기 전에 이 튜토리얼에 언급된 모든 예제는 Ubuntu 16.04LTS 버전에서 테스트되었습니다. .

다음 예에서는 comm 명령이 작동하는 방식을 보여줍니다. .

比较两个排序好的文件的方法—— comm

comm을 사용하여 정렬된 두 파일을 비교하는 방법

comm 명령을 사용하여 정렬된 두 파일을 비교하려면 파일 이름을 comm 명령에 인수로 전달하면 됩니다. 일반적인 구문은 다음과 같습니다.

으아아아

예를 들어 이 경우 file1 file2 이 두 파일이라고 가정합니다. 전자에는 다음 줄이 포함됩니다.

으아아아

후자는 다음 줄을 포함합니다:

으아아아

이때 comm 명령의 출력은 아래와 같습니다.

으아아아

比较两个排序好的文件的方法—— comm

출력에 3개의 열이 포함되어 있는 것을 볼 수 있습니다. 첫 번째 열은 file1에만 포함된 내용이고, 두 번째 열은 file2에만 포함된 내용이며, 마지막으로 세 번째 열은 두 파일 모두에 포함된 내용입니다.

통신 명령 출력에서 ​​특정 열을 출력하지 않는 방법

원하는 경우 comm명령 출력에서 ​​특정 열을 출력할 수 없습니다. 이 기능에는 -1, -2-3의 세 가지 명령줄 옵션을 사용할 수 있습니다. 짐작할 수 있듯이 이 숫자는 출력하고 싶지 않은 열을 나타냅니다.

예를 들어 다음 명령은 위 예의 세 번째 열을 출력하지 않습니다.

으아아아

比较两个排序好的文件的方法—— comm

그래서 세 번째 열에는 출력이 없는 것을 볼 수 있습니다.

단일 명령으로 여러 열을 동시에 출력할 수는 없다는 점에 유의하세요. 예:

으아아아

위 명령은 첫 번째와 두 번째 열을 출력하지 않습니다.

comm 명령을 사용하여 정렬되지 않은 두 파일을 비교하는 방법

아시다시피 comm은 정렬된 파일에서만 작동합니다. 파일 중 하나가 정렬되지 않은 것으로 확인되면 출력에 메시지가 생성되어 사용자에게 알립니다. 예를 들어 file1의 첫 번째 줄과 두 번째 줄을 바꾸고 file2와 비교합니다. 명령의 출력은 다음과 같습니다.

比较两个排序好的文件的方法—— comm

이 명령은 다음과 같은 출력을 생성하는 것을 볼 수 있습니다. file1은 아직 정렬되지 않았습니다. 이 시점에서 도구가 입력이 정렬되었는지 확인하지 않으려면 --nocheck-order 옵션을 사용할 수 있습니다.

으아아아

比较两个排序好的文件的方法—— comm

이전에 표시되었던 안내 메시지가 사라진 것을 확인할 수 있습니다.

입력 파일이 정렬되었는지 확인하도록 comm 명령에 명시적으로 지시하려면 --check-order 옵션을 사용할 수 있습니다.

如何用自定义字符串分隔comm 命令的输出列

默认情况下,comm 命令的输出列之间是以空格分隔的。然而,如何你想使用一个自定义字符串作为分隔符,那么你可以使用 --output-delimiter选项。使用该选项时需要指定你想用来作为分隔符的字符串。

comm --output-delimiter=+ file1 file2
로그인 후 복사

比如,我们使用加号来作为分隔符:

比较两个排序好的文件的方法—— comm

如何使 comm 的输出行以 NUL字符终止

默认情况下,comm 命令的输出行以新行终止。然而,如果你想,那么你可以改为以 NUL 字符终止,只需要使用-z 选项即可:

comm -z file1 file2
로그인 후 복사
结论

comm 命令并没有特别多的特性性,我们在这儿已经讨论了它的绝大多数命令行选项。只需要理解和练习在这篇教程中讨论的内容,那么你便可以在日常工作中知道如何使用这个工具了。如果你有任何问题或者疑问,请前往该命令的 man 手册,或者在下面评论。


위 내용은 'comm' 명령을 사용하여 두 개의 정렬된 파일을 비교합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:linuxprobe.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿