linux 命令之comm
1. 简介
comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作。
交集:打印出两个文件所共有的行。
求差:打印出指定文件所包含的且不相同的行。
差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。
2. 语法
comm (选项) (参数)
3. 选项
-1:不显示在第一个文件出现的内容
-2:不显示在第二个文件中出现的内容
-3:不显示同时在两个文件中都出现的内容
4. 参数
文件1:指定要比较的第一个有序文件
文件2:指定要比较的第二个有序文件
5. 实例
~/company/sh$ cat 1.txt
1a
1b
1c
1d
1f
1e
3a
3b
3c
~/company/sh$ cat 2.txt
2a
2b
2c
2d
2e
2f
3a
3b
3c
(1)无选项:输出的第一列只包含在1.txt中出现的行,第二列包含在2.txt中出现的行,第三列同时包含在1.txt和2.txt中的行。各列是以制表符(\t)作为定界符。
~/company/sh$ omm 1.txt 2.txt
1a
1b
1c
1d
1f
1e
2a
2b
2c
2d
2e
2f
3a
3b
3c
(2)-1选项(可以理解为-1删除第一列,-2删除第二列):不显示只在第一个文件出现的内容,输出的第一列只包含在2.txt中出现的行,第二列同时包含在1.txt和2.txt中的行
~/company/sh$ comm -1 1.txt 2.txt
2a
2b
2c
2d
2e
2f
3a
3b
3c
(3)交集:第三列就是交集的内容,只需删除第一列和第二列内容即可
~/company/sh$ comm -1 -2 1.txt 2.txt
3a
3b
3c
(4)求差:打印出两个文件中不相同的行,需要删除第三列,sed 's/^\t//' 是将制表符(\t)删除,以便把两列合并成一列。
~/company/sh$ comm -3 1.txt 2.txt
1a
1b
1c
1d
1f
1e
2a
2b
2c
2d
2e
2f
~/company/sh$ comm -3 1.txt 2.txt|sed 's/^\t//'
1a
1b
1c
1d
1f
1e
2a
2b
2c
2d
2e
2f
(5)差集
a.txt的差集
~/company/sh$ comm -2 -3 1.txt 2.txt
1a
1b
1c
1d
1f
1e
b.txt差集
~/company/sh$ comm -1 -3 1.txt 2.txt
2a
2b
2c
2d
2e
2f
linux 命令之comm的更多相关文章
- Linux命令整理中...
Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...
- [Android ] linux命令英文缩写的含义(方便记忆)
du -sh */ reference to : http://blog.chinaunix.net/uid-27164517-id-3299073.html linux常用命令的英文单词缩写 命令缩 ...
- 运维工程师必会的109个Linux命令
运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...
- 【改造Linux命令之rm - 删除文件或目录-】
用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比 ...
- 77个常用Linux命令和工具
77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工 ...
- 十年linux命令总结
十年linux命令总结 本文链接: http://codingstandards.iteye.com/blog/786653 关于命令类型划分 本表中列出了我穷尽了我所有的记忆整理出来的Linux命令 ...
- linux命令英文缩写的含义(方便记忆)
命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户 rpm:redhat package manager 红帽子打包 ...
- Linux命令 比较文件
cmp [功能说明] 比较文件 #cmp可以比较任何类型的文件,并在标准输出设备上显示文件的第一次不同处的行号和字节号,分别从1开始,但是一般用于比较文本文件 [语法格式] Cmp[参数][文件1][ ...
- linux 命令中英文对照,收集
linux 命令中英文对照,收集 linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...
随机推荐
- SpringMVC环境搭建 配置文件_2
applicationContext 命名空间: 引入命名空间,这样可以在代码中使用annotation xmlns="http://www.springframework.org/sche ...
- Hibernate之即时更新
昨天工作中遇到了一个简单的问题,弄了好久,都怪自己没有好好的去了解hibernate,导致了这样的问题弄了两三个小时. 问题是这样的:我想即时更改数据,然后再查询 (1)用Spring的getHibe ...
- 【小错误】Device eth2 has different MAC address than expected, ignoring.
今天在搭建rac配置IP的时候报错显示如下: Device eth2 has different MAC address than expected, ignoring.[FAILED] 百度了下,问 ...
- 使用python+pychram进行API测试(接口测试)初级STEP 1
花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.or ...
- Hibernate配置文档详解
Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...
- CSS3按钮鼠标悬浮光圈效果
1 .HTML相关知识点 HTML(超文本标记语言)是网页的核心.首先你要学会,不要害怕,HTML很容易学习的,刚开始多记多练,但是到最后还是要自己深入专研,简单的入门是很快,但学好HTML是成为W ...
- Ms sql行转列。汇总
SQL行转列汇总 PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 ...
- Mybtis框架总结(一)
一:Mybaits下载并搭建核心框架 1:下载mybatis的jar包: 2:创建mybatis框架链接数据库的配置文件Configuration.xml,格式如下 <!DOCTYPE conf ...
- 入门React和Webpack
最近在学习React.js,之前都是直接用最原生的方式去写React代码,发现组织起来特别麻烦,之前听人说用Webpack组织React组件得心应手,就花了点时间学习了一下,收获颇丰 说说React ...
- 数据库的NULL值讨论
有许多关于数据库设计中NULL的讨论,我个人的设计习惯是,不使用NULL值. 我所设计所有表都是Not Null的字段的,尤其是我主要做数据仓库的表设计.刚开始使用数据库时,就栽了一次.一个Group ...