Linux常用命令——comm命令

在线Linux命令查询工具

comm

两个文件之间的比较

补充说明

comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作。

  • 交集:打印出两个文件所共有的行。
  • 求差:打印出指定文件所包含的且不相同的行。
  • 差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。

语法

comm [选项]... 文件1 文件2

选项

如果不附带选项,程序会生成三列输出。
第一列包含文件1 特有的行,
第二列包含文件2 特有的行,
而第三列包含两个文件共有的行。-1    不输出文件1 特有的行-2    不输出文件2 特有的行-3    不输出两个文件共有的行--check-order     检查输入是否被正确排序,即使所有输入行均成对
--nocheck-order   不检查输入是否被正确排序
--output-delimiter=STR  依照STR 分列

参数

  • 文件1:指定要比较的第一个有序文件;
  • 文件2:指定要比较的第二个有序文件。

实例

文本aaa.txt内容

[root@localhost text]# cat aaa.txt 
aaa
bbb
ccc
ddd
eee
111
222

文本bbb.txt内容

[root@localhost text]# cat bbb.txt 
bbb
ccc
aaa
hhh
ttt
jjj

两个文件之间的比较,如果没有排序需要带上--nocheck-order参数, 没有带上参数将会收到提示,此命令重要之功能在于比较。

comm: 文件2 没有被正确排序
comm: 文件1 没有被正确排序

比较结果

[root@localhost text]# comm --nocheck-order aaa.txt bbb.txt 
aaabbbcccaaa
ddd
eee
111
222hhhtttjjj
第一列  第二列  第三列

输出的第一列只包含在aaa.txt中出现的行,第二列包含在bbb.txt中出现的行,第三列包含在aaa.txt和bbb.txt中相同的行。各列是以制表符(\t)作为定界符。

有序比较

有序比较,先通过 sort 将文件内容排序

[root@localhost ~]# sort aaa.txt > aaa1.txt
[root@localhost ~]# sort bbb.txt > bbb1.txt

有序比较结果:

[root@localhost ~]# comm aaa1.txt bbb1.txt
111
222aaabbbccc
ddd
eeehhhjjjttt

交集

打印两个文件的交集,需要删除第一列和第二列:

[root@localhost text]# comm aaa.txt bbb.txt -1 -2
bbb
ccc

求差
打印出两个文件中不相同的行,需要删除第三列:

[root@localhost text]# comm aaa.txt bbb.txt -3 | sed 's/^\t//'
aaa
aaa
ddd
eee
111
222
hhh
ttt
jjj

sed 's/^\t//'是将制表符\t删除,以便把两列合并成一列。

差集

通过删除不需要的列,可以得到aaa.txt和bbb.txt的差集:
aaa.txt的差集

[root@localhost text]# comm aaa.txt bbb.txt -2 -3
aaa
ddd
eee
111
222

bbb.txt的差集

[root@localhost text]# comm aaa.txt bbb.txt -1 -3
aaa
hhh
ttt
jjj

在线Linux命令查询工具

在线Linux命令查询工具

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

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

相关文章

django无法导入第三方库

引子 有的人可能会很困惑,为什么自己在pip中安装了某个包,但是在django中死活无法导入。 在cmd中能够导入。 启动django,总是无法导入。 本文将会用一分钟解决你的困惑。 正文 那么本文以上述的第三方库dj_db_conn_pool为例,…

WuThreat身份安全云-TVD每日漏洞情报-2023-10-16

漏洞名称:Apache HTTP/2 安全漏洞 漏洞级别:高危 漏洞编号:CVE-2023-44487,CNVD-2023-75597,CNNVD-202310-667 相关涉及:Google Cloud Platform 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-25208 漏洞名称:Adobe Commerce and Magento Ope…

汽车智能制造中的RFID技术在供应链生产管理中的应用

行业背景 汽车零部件工业是汽车工业中至关重要的一部分,对于汽车工业的长期稳定发展起着基础性的作用,近年来,汽车配件配套市场规模达到了2000亿元,维修市场达到了600亿元,随着汽车国产化的推进,汽车零部件…

k8s 暴露pod

kubenretes中暴露Pod及Service的6种方式 ,分别为port_forward、hostNetwork、hostPort、nodePort、loadBalancer、Ingress。 下面讲下nodeport nodePort Kubernetes中的service默认情况下都是使用的ClusterIP这种类型,这样的service会产生一个Cluster…

Webpack5 htmlwebpackplugin用法

文章目录 HtmlWebpackPlugin介绍HtmlWebpackPlugin用法1. 安装HtmlWebpackPlugin插件:2. 引入HtmlWebpackPlugin插件:3. 配置HtmlWebpackPlugin:4. 更多HtmlWebpackPlugin配置选项: 总结 HtmlWebpackPlugin介绍 Webpack是一个功能…

Linux命令及命令来源

Linux是一个强大的操作系统,拥有许多内建的命令。以下是常见的Linux命令及其简单的解释和用法: ls:列出目录内容。 来源:list。用法:ls、ls -l、ls -a cd:改变当前目录。 来源:change director…

AMEYA360-罗姆ROHM马来西亚工厂新厂房竣工

全球知名半导体制造商罗姆为了加强模拟IC的产能,在其马来西亚制造子公司ROHM-Wako Electronics (Malaysia) Sdn. Bhd.(以下简称“RWEM”)投建了新厂房,近日新厂房已经竣工,并举行了竣工仪式。 RWEM此前主要生产二极管和LED等小信号产品&#…

Linux网络编程系列之UDP广播

Linux网络编程系列 (够吃,管饱) 1、Linux网络编程系列之网络编程基础 2、Linux网络编程系列之TCP协议编程 3、Linux网络编程系列之UDP协议编程 4、Linux网络编程系列之UDP广播 5、Linux网络编程系列之UDP组播 6、Linux网络编程系列之服务器编…

Django ORM查询

Django提供了一套非常方便的类似SqlAlchemy ORM的通过对象调用的方式操作数据库表的ORM框架。 Django ORM操作主要分为以下几类: 增:向表内插入一条数据删:删除表内数据(物理删除)改:update操作更新某条数…

数字化 | 智能电子日历

想要一款随时随地都能掌握日期的电子日历吗? WiFi通信,实时更新,超低功耗,可充电,超长续航,电子纸,黑白红三色显示的电子日历,就是你的最佳选择! 无论是在办公室、家中或…

QCC51XX-QCC30XX系列开发教程(实战篇) 之 12.4-空间音频手机侧和耳机侧接口设计时序图

查看全部教程开发请点击:全网最全-QCC51xx-QCC30xx(TWS)系列从入门到精通开发教程汇总(持续更新中) ==================================================================== 版权归作者所有,未经允许,请勿转载。 ==========================================

自建应用-企业微信-侧边栏开发配置

企业微信侧边栏开发配置 配置侧边栏配置后效果图js-sdk 配置侧边栏 配置后效果图 js-sdk https://developer.work.weixin.qq.com/document/path/91789

“系统重要性银行”光环下,南京银行的重重忧思

撰稿|行星 来源|贝多财经 南京银行喜忧参半,提名系统重要性银行,还面临信誉老题、业绩新题难解的问题。 近期,中国人民银行、国家金融监督管理总局开展了2023年度我国系统重要性银行评估,认定20家国内系统重要性银行&#xff0…

如何分析K8S中的OOMKilled问题(Exit Code 137)

什么是 OOMKilled Kubernetes 错误(Exit Code 137) 当 Kubernetes 集群中的容器超过其内存限制时,Kubernetes 系统可能会终止该容器并显示“OOMKilled”错误,这表明该进程由于内存不足而被终止。此错误的退出代码是 137。 如果遇…

代码随想录算法训练营第二十五天丨 回溯算法part03

39. 组合总和 思路 题目中的无限制重复被选取&#xff0c;提示&#xff1a;1 < candidates[i] < 200。 本题和77.组合 (opens new window)&#xff0c;216.组合总和III (opens new window)的区别是&#xff1a;本题没有数量要求&#xff0c;可以无限重复&#xff0c;但…

记录:移动设备软件开发(layout六大布局)

目录 前言layoutLinearLayout线性布局LinearLayout的常用属性Android&#xff1a;orientation属性Android&#xff1a;gravity属性 TableLayout表格布局TableLayout的常用属性collapsecolumns属性shrinkcolums属性stretchcoumns属性 RelativeLayout相对布局Absolute Layout绝对…

构造shiro poc

攻击shiro思路 伪造加密过程 shiro在容器初始化的时候会实例化CookieRememberMeManager对象&#xff0c;并且设置加密解密方式 实例化时调用父类构造方法&#xff0c;设置加密方式为AES&#xff0c;并且设置key 看下调用栈 <init>:109, AbstractRememberMeManager (org…

12JVM基础

五、JVM 17、JVM基础 说一下堆栈的区别&#xff1f; 功能方面&#xff1a;堆是用来存放对象的&#xff0c;栈是用来执行程序的。 共享性&#xff1a;堆是线程共享的&#xff0c;栈是线程私有的。 空间大小&#xff1a;堆大小远远大于栈。队列和栈是什么&#xff1f;有什么区别…

python数据挖掘从入门到实战

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

typeScript 类型什么时候使用any?

在类型不确定的情况下&#xff0c;使用 any 是一种选项&#xff0c;但通常不是最佳选择。使用 any 类型会让你失去 TypeScript 提供的类型安全性和编译时检查。以下是几种处理类型不确定性的更好方法&#xff1a; 联合类型&#xff08;Union Types&#xff09;: 如果一个值可能…