Linux 中的 comm
命令是一个功能强大但未被重视的实用程序,专门用于逐行比较两个排序的文件。它旨在输出三种类型的行:第一个文件独有的行、第二个文件独有的行以及两者共有的行。此功能使 comm
成为执行各种任务的宝贵工具,例如识别数据集中的唯一或共享条目、简化数据分析以及帮助文件管理。
先决条件
在使用 comm
命令之前,请确保:
- 对要比较的文件进行排序。如果没有,请使用
sort
命令事先对它们进行排序。 - 排序顺序(排序顺序)在两个文件中是一致的。
语法和选项
comm
命令的基本语法 是:
comm [OPTION]... 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
© 版权声明
本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!
THE END