Linux 上的 Comm 命令及其示例

2024年 4月 22日 26.7k 0

Linux 中的 comm 命令是一个功能强大但未被重视的实用程序,专门用于逐行比较两个排序的文件。它旨在输出三种类型的行:第一个文件独有的行、第二个文件独有的行以及两者共有的行。此功能使 comm 成为执行各种任务的宝贵工具,例如识别数据集中的唯一或共享条目、简化数据分析以及帮助文件管理。

terminal-linux-logo

先决条件

在使用 comm 命令之前,请确保:

  • 对要比较的文件进行排序。如果没有,请使用 sort 命令事先对它们进行排序。
  • 排序顺序(排序顺序)在两个文件中是一致的。

语法和选项

comm 命令的基本语法 是:

comm [OPTION]... FILE1 FILE2

标准输出由三列组成:

  • FILE1 独有的行
  • FILE2 独有的行
  • 两个文件共有的行
  • 自定义输出的选项包括

    comm 命令附带了几个选项,允许您自定义其行为:

    • -1:禁止显示第一列(第一个文件独有的行)。
    • -2:禁止显示第二列(第二文件独有的行)。
    • -3:禁止显示第三列(两个文件共有的行)。
    • --check-order:检查输入是否正确排序。
    • --nocheck-order:不检查输入是否排序。
    • --output-delimiter=STR:使用字符串 STR 分隔列。
    • --version:输出版本信息。

    例如,如果要禁止显示第一列(第一个文件独有的行),则可以使用 -1 选项:

    comm -1 file1.txt file2.txt

    这将输出两列。第一列包含 file2 独有的行。TXT公司,第二列包含两个文件共有的行。

    基本用法

    要比较两个不带任何选项的排序文件:

    comm file1.txt file2.txt

    此命令将显示三列,如上所述。

    高级用法和示例

    隐含列

    若要仅查看两个文件之间的公共行,请使用:

    comm -12 file1.txt file2.txt

    这将禁止显示前两列,仅显示第三列。

    比较未排序的文件

    对于未排序的文件, 使用进程替换将 comm 与排序组合在一起:

    comm -12

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论