comm命令
comm命令
comm命令用于比较两个已排过序的文件,该命令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3列显示:第1列仅是在第1个文件中出现过的列,第2列是仅在第2个文件中出现过的列,第3列则是在第1与第2个文件里都出现过的列,若给予的文件名称为-,则comm命令会从标准输入设备读取数据。
语法
comm [OPTION]... FILE1 FILE2
参数
-1: 禁止列1(FILE1唯一的行)。-2: 禁止列2(FILE2唯一的行)。-3: 禁止列3(出现在两个文件中的行)。--check-order: 检查输入是否正确排序,即使所有输入行都是可配对的。--nocheck-order: 不检查输入是否正确排序。--output-delimiter=STR: 用字符串STR分隔列。-z, --zero-terminated: 指定行分隔符是NUL,不是换行符。--help: 显示帮助消息。--version: 输出版本信息。
示例
recipe.txt文件与shopping-list.txt文件内容,这两个文件不同,但许多行是相同的,并非所有的配方成分都在购物清单上,也不是购物清单上的所有成分都是食谱的一部分。
# recipe.txt
All-Purpose Flour
Baking Soda
Bread
Brown Sugar
Chocolate Chips
Eggs
Milk
Salt
Vanilla Extract
White Sugar
# shopping-list.txt
All-Purpose Flour
Bread
Brown Sugar
Chicken Salad
Chocolate Chips
Eggs
Milk
Onions
Pickles
Potato Chips
Soda Pop
Tomatoes
White Sugar
使用comm命令,其将读取这两个文件并给我们三列输出,在这里,每行输出的开头都有0、1或2个制表符,将输出分成三列:
- 第一列
zero tabs是只出现在第一个文件中的行。 - 第二列
one tabs是只出现在第二个文件中的行。 - 第三列
two tabs是出现在两个文件中的行。
comm recipe.txt shopping-list.txt
# All-Purpose Flour
#Baking Soda
# Bread
# Brown Sugar
# Chicken Salad
# Chocolate Chips
# Eggs
# Milk
# Onions
# Pickles
# Potato Chips
#Salt
# Soda Pop
# Tomatoes
#Vanilla Extract
# White Sugar
比较recipe.txt文件与shopping-list.txt文件,并禁用第1与第2列的输出。
comm -12 recipe.txt shopping-list.txt
# All-Purpose Flour
# Bread
# Brown Sugar
# Chocolate Chips
# Eggs
# Milk
# White Sugar
每日一题
https://github.com/WindrunnerMax/EveryDay
参考
https://www.computerhope.com/unix/ucomm.htm
https://www.runoob.com/linux/linux-comm-comm.html
https://www.geeksforgeeks.org/comm-command-in-linux-with-examples/
comm命令的更多相关文章
- linux中comm命令用法
linux系统中comm命令用法详解 linux系统下的comm命令是一个非常实用的文件对比命令. comm命令功能: 选择或拒绝两个已排序的文件的公共的行. comm命令语法:comm [-12 ...
- comm命令——
comm命令 :对已经有序的文件进行比较——第一列只在文件1中出现的文件,第二列只在文件2中出现的文件,第三列在文件1和文件2中同事出现的文件 请注意前提条件: comm对文件 ...
- 两个文件比较之comm命令
comm命令可用于两个文件之间的比较.它有很多不错的选项可用来调整输出,以便我们执行交集.求差(difference)以及差集操作. 交集:打印出两个文件所共有的行. 求差:打印出指定文件所包含的 ...
- Linux comm命令求出文件的交集、差集
A(1,2,3)和B(3,4,5),A和B的交集是3,A对B的差集是1和2,B对A的差集是4和5,A和B求差的结果是1.2.4.5. 在Linux中可以使用comm命令求出这些集. [root@xue ...
- linux命令(50):comm命令的用法,求交集
Linux comm命令 使用局限比较大,适用于特殊场合: Linux comm命令用于比较两个已排过序的文件. 排序:sort -u file 这项指令会一列列地比较两个已排序文件的差异,并将其结果 ...
- linux:使用comm命令比较两个文件:交集、差
linux:使用comm命令比较两个文件:交集.差 comm命令可以按行比较两个排序好的文件,输出有3列:第一列是file1独有的.第二列是file2独有的,第三列是两者都有的,简单语法如下:NAME ...
- 原!linux comm命令文件 比较 输出交集,差集。
文件内容大致如下: 112805|300011222483|OL海12卓|47397c33e36cdbed26637c50dd305973|2019-08-06 10:50:13|登B录123|suc ...
- Linux:- comm命令的妙用
参数://假设a集.b集.ab交集 # comm [options] textA textB options: 1.表示a集除去ab交集重叠那部分: 2.表示b集除去ab交集重叠那部分: 3.表示ab ...
- linux的comm命令
http://blog.csdn.net/apache6/article/details/5789669
- linux 命令之comm
1. 简介 comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集.求差.以及差集操作. 交集:打印出两个文件所共有的行. 求差:打印出指定文件所包含的且不相同的行. 差集 ...
随机推荐
- Linux 中常用的基础命令
by emanjusaka from https://www.emanjusaka.top/2024/01/linux-base-command 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文 ...
- [转帖]京东大佬细说:Nginx反向代理时保持长连接,看完直呼"学到了!"
https://mp.weixin.qq.com/s?__biz=MzU1MzE2NzIzMg==&mid=2247488405&idx=1&sn=7081ff4e0ac1de ...
- [转帖]sql server 索引阐述系列六 碎片查看与解决方案
https://www.cnblogs.com/MrHSR/p/9365720.html 一 . dm_db_index_physical_stats 重要字段说明 1.1 内部碎片:是avg_pag ...
- [转帖]LSM树详解
https://zhuanlan.zhihu.com/p/181498475 LSM树(Log-Structured-Merge-Tree)的名字往往会给初识者一个错误的印象,事实上,LSM树并不像B ...
- [转帖]金仓数据库KingbaseES V8R6索引坏块故障处理
案例说明: 在执行表数据查询时,出现下图所示错误,索引故障导致表无法访问,后重建索引问题解决.本案例复现了此类故障解决过程. 适用版本: KingbaseES V8R3/R6 一.创建测试环境 # 表 ...
- [转帖]Guanaco, Llama, Vicuña, Alpaca该怎么区别
https://zhuanlan.zhihu.com/p/106262896 在智利和秘鲁高原区经常会遇到的一种动物让人十分挠头,学术点称呼就是骆驼科其中一个族群--羊驼属和骆马属.头疼在于,分不清楚 ...
- 【转帖】如何使用route管理路由表
这里是引用 route快捷使用方法 我们一般管理路由有使用route命令 本身route使用大致有两种方法:但其实 在实际操作中,我们熟练掌握一种方法就可以了. route 有以下6种操作方法: 1) ...
- 【转帖】基于官方rpm包方式安装Oracle19c
https://blog.whsir.com/post-5489.html 本文基于Centos7.x环境,通过官方提供的rpm包来安装19c 1.下载Oracle19c安装包 https://w ...
- runc网络与systemd管理runc应用
1. 创建网络命名空间 ip netns add <ns> # ns是自定义网络空间名 # 例如: ip netns add haproxy # 创建一个给 haproxy使用的网络命名空 ...
- vue组件上绑定原生事件
将原生事件绑定在组件上 .native 修饰符: 子组件 <template> <div class="demo"> <h2>我是子组件< ...