Linux comm命令教程:对比和分析文件内容(附案例详解和注意事项)

Linux comm命令介绍

comm,又称为_compare common lines_命令,是一个简易的Linux文件比较工具,主要用于标识出两个已排序文件中的共同部分。该命令逐行比较两个文件,并以三列形式显示结果。

Linux comm命令适用的Linux版本

通常,comm命令在所有的Linux发行版上都是可用的,这包括但不限于Ubuntu、Debian、CentOS,以及Fedora等。在您的系统上不可用时,一般是由于coreutils包尚未安装造成的。在大多数系统上,可以用下面的命令来安装:

在CentOS 7上:

[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils

在CentOS 8及其它最新的Linux发行版上:

[linux@bashcommandnotfound.cn ~]$ sudo dnf install coreutils

不同的Linux命令及其参数应以选项卡形式展示,这将有助于读者更好地理解和比较。

Linux comm命令的基本语法

comm [OPTION]... FILE1 FILE2

在这里,FILE1和FILE2是你要比较的两个文件。

Linux comm命令的常用选项或参数说明

选项描述
-1不输出文件1独有的行
-2不输出文件2独有的行
-3只输出两文件共有的行

Linux comm命令实例详解

实例1:仅输出两个文件共享的行

[linux@bashcommandnotfound.cn ~]$ comm -12 file1 file2

这里的数字选项可以组合使用,例如-12会同时启用-1-2

实例2:检查输入文件是否已排序

[linux@bashcommandnotfound.cn ~]$ comm --check-order file1 file2

实例3:显示两个文件的不同部分

[linux@bashcommandnotfound.cn ~]$ comm -3 file1 file2

实例4:显示文件1独有的行

[linux@bashcommandnotfound.cn ~]$ comm -23 file1 file2

实例5:显示文件2独有的行

[linux@bashcommandnotfound.cn ~]$ comm -13 file1 file2

实例6:输出文件1有但文件2没有的行和文件2有但文件1没有的行

[linux@bashcommandnotfound.cn ~]$ comm -3 file1 file2

上述命令用于返回那些只在一个文件中存在的行,而另一个文件不存在,即文件1和文件2独有的行。

实例7:忽略文件是否已经排序

[linux@bashcommandnotfound.cn ~]$ comm --nocheck-order file1 file2

这个例子中,不论文件是否排序,comm命令会直接执行并给出结果,可能会包含错误。

实例8: 在脚本中使用comm命令

[linux@bashcommandnotfound.cn ~]$ awk 'BEGIN {print "Comm Command in Scripts";print "File1 Contents : ";system("cat file1");print "File2 Contents : ";system("cat file2");print "Comm Output : "system("comm file1 file2");
}'

在这个例子中,我们将comm命令结合了awk命令一起使用在一个脚本中,比较了两个文件的内容。

实例9: 对比两个目录

[linux@bashcommandnotfound.cn ~]$ comm -12 <(ls dir1) <(ls dir2)

这个例子中,我们用了进程替换的方式,将ls命令的输出作为comm命令的输入,显示了dir1和dir2都有的文件。

实例10: 对比两个csv文件

[linux@bashcommandnotfound.cn ~]$ comm -13 <(sort file1.csv) <(sort file2.csv)

对比两个CSV文件中独有的行,-1-3选项一同使用表示只输出file2中独有的行,这在数据处理中也是十分常用的。

实例11: 对比两个文本文件

[linux@bashcommandnotfound.cn ~]$ comm -12 <(sort text1.txt) <(sort text2.txt) > common.txt

这个例子中,我们将两个文本文件排序后的共有的行输出到了一个新的文本文件common.txt中。

实例12: 不仅对比内容了,还检查了排序

[linux@bashcommandnotfound.cn ~]$ comm --check-order sorted_file1 sorted_file2

在这个例子中,comm会检查输入文件是否已经排序。如果文件已经排序,comm命令将正常执行。如果输入文件没有排序,comm命令将返回一个错误。

Linux comm命令的注意事项

  • 当输入的文件未经排序时,comm命令的结果可能不准确。
  • 如果在使用comm命令时遇到"bash: comm: command not found"提示,可以根据上面给出的命令进行安装。

Linux comm相关命令

  • diff命令:比较文件的不同
  • cmp命令:比较两个文件是否有差异
  • sort命令:排序或比较文件
  • cat命令:连接并打印文件
  • more和less:分页显示文件内容
  • head和tail命令:显示文件的开头和结尾部分
  • cut命令:移除文件中的某一部分
  • grep命令:在文件中搜索字符串
  • awk命令:用于文本和数据处理
  • sed命令:一种流编辑器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes 面试宝典

创建 Pod的主要流程? 客户端提交 Pod 的配置信息(可以是 yaml 文件定义的信息)到 kube-apiserver. Apiserver 收到指令后,通知 controllr-manager 创建一个资源对象 controller-manager 通过 apiserver 将 pod 的配置信息存储到 ETCD 数据中薪心中 kube-scheduler 检查到 p…

GPT编程:运行你的第一个聊天程序

环境搭建 很多机器学习框架和类库都是使用Python编写的&#xff0c;OpenAI提供的很多例子也是Python编写的&#xff0c;所以为了方便学习&#xff0c;我们这个教程也使用Python。 Python环境搭建 Python环境搭建有很多种方法&#xff0c;我们这里需要使用 Python 3.10 的环境…

一二三应用开发平台文件处理设计与实现系列之5——MinIO技术预研

背景 上篇介绍了文件读写框架设计与实现&#xff0c;同时顺便说明了本地磁盘存储模式的实现模式。 今天来说下基于文件读写框架&#xff0c;如何集成对象存储组件minio&#xff0c;集成之前&#xff0c;需要对minio进行必要的了解&#xff0c;本篇是minio的技术预研。 minio简…

两个Mesh路由、一个5口交换机,打造智能家居无缝网络覆盖

在现代家庭中&#xff0c;无线网络已经成为了必需品&#xff0c;每个人都希望享受到无缝连接的畅快体验。然而&#xff0c;由于信号覆盖范围的限制和信号干扰等问题&#xff0c;很多家庭在组网方面遇到了一些困难。 对于有需求的家庭而言&#xff0c;两个Mesh路由器是一种非常…

Linux|centos7操作系统|VMware虚拟机安装水星免驱USB网卡8188gu记录

引言&#xff1a; 最近对于嵌入式系统比较感兴趣&#xff0c;因此&#xff0c;计划先使用VMware workstation虚拟机试一试Linux系统下的网卡驱动安装 这不试不知道&#xff0c;一试吓一跳&#xff0c;发现Linux下的驱动安装还是比较麻烦的&#xff0c;下面将就本次的Linux系统…

机器学习 | 卷积神经网络

机器学习 | 卷积神经网络 实验目的 采用任意一种课程中介绍过的或者其它卷积神经网络模型&#xff08;例如LeNet-5、AlexNet等&#xff09;用于解决某种媒体类型的模式识别问题。 实验内容 卷积神经网络可以基于现有框架如TensorFlow、Pytorch或者Mindspore等构建&#xff…

Linux 专栏目录

常用指令 curl 1. curl -i 和 -I&#xff08;i 大写&#xff09;的区别 2. curl 只显示需要的行信息 scp 1. scp 服务器之间传输文件

格密码基础:SIS问题的困难性

目录 一. SIS问题的困难性 二. SIS问题归约的性质 2.1 2004年 [MR04] 2.2 2008年 【GPV08】 2.3 2013年【MP13】 三. 归约证明 3.1 核心理解 3.2 归约步骤 3.3 性质理解 一. SIS问题的困难性 推荐先阅读&#xff1a; 格密码基础&#xff1a;SIS问题的定义与理解-CSD…

专业课140总分410+大连理工大学852信号与系统考研经验电子信息与通信

通过将近一年的复习&#xff0c;今年如愿以专业140分&#xff0c;总分410被大连理工录取&#xff0c;回望这一年复习还是有很多做的不足&#xff0c;整理了一下自己复习的经验&#xff0c;希望可以对后面报考大连理工的同学有所帮助。●政治&#xff1a; 真心建议大家至少暑假…

深入理解 go reflect - 反射常见错误

go 的反射是很脆弱的&#xff0c;保证反射代码正确运行的前提是&#xff0c;在调用反射对象的方法之前&#xff0c; 先问一下自己正在调用的方法是不是适合于所有用于创建反射对象的原始类型。 go 反射的错误大多数都来自于调用了一个不适合当前类型的方法&#xff08;比如在一…

python 列表的高级应用

当前版本&#xff1a; Python 3.8.4 简介 列表&#xff08;list&#xff09;是Python编程语言中的基本数据类型之一&#xff0c;也是一个非常重要的通用序列。在其它编程语言中&#xff0c;它们通常被称为“数组”。可以存储多个元素&#xff0c;包括数字、字符串、甚至其他列…

【RPC】序列化:对象怎么在网络中传输?

今天来聊下RPC框架中的序列化。在不同的场景下合理地选择序列化方式&#xff0c;对提升RPC框架整体的稳定性和性能是至关重要的。 一、为什么需要序列化&#xff1f; 首先&#xff0c;我们得知道什么是序列化与反序列化。 网络传输的数据必须是二进制数据&#xff0c;但调用…

(菜鸟自学)搭建虚拟渗透实验室——安装Ubantu 8.10 靶机

安装Ubantu 8.10 靶机 新建虚拟机 选择Ubuntu系统 网络适配器模式选用桥接模式 镜像选用ubuntu8.10版本 点击“开启此虚拟机”以开始安装Ubuntu Linux系统 安装ubuntu 首先需要选择安装时的语言&#xff0c;这里选择“中文&#xff08;简体&#xff09;” 选择“安装…

Pushmall智能AI数字名片— —SCRM客户资源管理系统

推贴数字AI名片说明&#xff1a; **Pushmall智能AI数字名片&#xff1a;**基于靠谱人脉的地理位置服务&#xff0c;资源查询&#xff0c;数字名片定制服务、企业名片&#xff1a;相互引荐、提供需求&#xff1b;建人脉群、客户群&#xff0c;及简介、短视频、宣传文档、电子图…

上海亚商投顾:创业板指冲高回落 光伏、航运股逆势走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指1月12日冲高回落&#xff0c;创业板指午后跌近1%。北证50指数跌超6%&#xff0c;倍益康、华信永道、众诚科…

Python基础知识:整理15 列表的sort方法

1 sorted() 方法 之前我们学习过 sorted() 方法&#xff0c;可以对列表、元组、集合及字典进行排序 # 1.列表 ls [1, 10, 8, 4, 5] ls_new sorted(ls, reverseTrue) print(ls_new) …

定时任务---Timer

什么是Timer Timer是Java中的一个类&#xff0c;用于在指定的时间间隔内执行重复的任务。它可以在后台线程中运行&#xff0c;不影响主线程的执行。 Timer类可以安排一个任务在未来的某个时间开始执行&#xff0c;或者以固定的时间间隔重复执行。它提供了一些方法来安排任…

【软件测试】学习笔记-性能测试的基本方法与应用领域

这篇文章探讨并发用户数、响应时间和系统吞吐量这三个指标之间的关系和约束&#xff0c;性能测试七种常用方法&#xff0c;以及四大应用领域。 由于性能测试是一个很宽泛的话题&#xff0c;所以不同的人对性能测试的看法也不完全一样&#xff0c;同样一种方法可能也会有不同的…

基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9)

前言 最近基于Harmony OS最新版本开发了一个作品&#xff0c;本文来详细讲解一下&#xff0c;如何我是如何开发这个作品的。以及如何使用OpenHarmony&#xff0c;基于ArkTS&#xff0c;API 9来开发一个属于自己的元服务。 废话不多说&#xff0c;我的作品名称叫做Company Oper…

Softmax回归(多类分类模型)

目录 1.对真实值类别编码&#xff1a;2.预测值&#xff1a;3.目标函数要求&#xff1a;4.使用Softmax模型将输出置信度Oi计算转换为输出匹配概率y^i&#xff1a;5.使用交叉熵作为损失函数&#xff1a;6.代码实现&#xff1a; 1.对真实值类别编码&#xff1a; y为真实值&#xf…