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 ...
随机推荐
- 【转】Linux查看内存大小和插槽
原文https://wsgzao.github.io/post/linux-memory/ Linux 查看内存的插槽数,已经使用多少插槽,每条内存多大,已使用内存多大 dmidecode | gre ...
- 视频演示eworkflow集成定制aspx页面的过程
eworkflow自定义工作流系统,集成eform自定义表单,可以做到在线编辑流程,在线编辑表单.eform也提供在线建立业务表,维护表字段等,所以通过eworkflow+eform可以在线完成业务流 ...
- Java温故系列之web项目复习
如果从外面导入项目 操作方法为: File->Import -->General-->Existing Project into Workspace 搭建sqlserver数据库连接 ...
- 网页手机wap2.0网页的head里加入下面这条元标签......
网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放. <meta name="viewport" conten ...
- 好的sql
select count(2) from vw_pmcthtdj A WHERE a.HTBL_ID not in (select jg.jgjs_htid from PMCTJGJS jg wher ...
- 虚拟机下linux安装mysql,apache和php
由于腿伤了,卧床在家折腾下linux,尝试用虚拟机装mysql,apche和php.中间各种波折,装了好几天,觉得有些经验还是要记录下来,让自己别忘了:) 按照下面这篇文章的方法,基本可以顺利安装成功 ...
- SpirentTestcenter测试仪的自动化
SpirentTestcenter,美国思博伦公司的网络测试仪表,覆盖以太网L2~L7层,使用过的仪表中功能最强大的. 1.SpirentTestcenter的自动化测试场景 测试PC上的AT框架-- ...
- SQL日期格式化应用大全
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVE ...
- Notepad++根据语言类型自动选择对应编译器来编译代码
Notepad++的NppExec插件可以调用好多编译器来编译代码. 比如编译Java: NPP_SAVE javac "$(FULL_CURRENT_PATH)" java -c ...
- MySQL效能监控工具mysqlreport安装和中文说明
管理 mysql 最让人困扰的就是如何有效的掌握 MySQL 的健康状况,因为 MySQL 虽然有提供许多系统变量值供您参考,但这些零散的数据若要手动搜集与过滤将会是一件十分没有效率的事情(除非您写 ...