第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令
2018-07-26 15:50
776 查看
第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令
名词解释
comm 命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、差集操作。
交集:打印两个文件所共有的行
求差:打印出指定文件所包含的其不相同的行。
差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。
语法
comm(选项)(参数)
选项
-1 :不显示在第一个文件出现的内容;
-2 :不显示在第二个文件中出现的内容;
-3 :不显示同时在两个文件中都出现的内容。
参数
文件1 :指定要比较的第一个有序文件
文件2 :指定要比较的第二个有序文件
实例
[root@ceshi comm]# cat aaa.txt aaa bbb ccc ddd eee 111 222 [root@ceshi comm]# cat bbb.txt bbb ccc aaa hhh ttt jjj
[root@ceshi comm]# comm aaa.txt bbb.txt aaa bbb ccc comm: file 2 is not in sorted order aaa ddd eee comm: file 1 is not in sorted order 111 222 hhh ttt jjj
输出第一列:代表aaa.txt包含的内容
输出第二列:代表bbb.txt包含的内容
输出第三列:代表在aaa.txt和bbb.txt中相同的行。各列是以制表符(\t)作为定界符。
file 1 is not in sorted order :意思是文件里边的内容不是按顺序排列的。没有用关系。
交集:
打印两个文件的交集,需要删除第一列和第二列:
[root@ceshi comm]# comm aaa.txt bbb.txt -1 -2 bbb ccc
求差:
打印出两个文件中不相同的行,需要删除第三列:
[root@ceshi comm]# comm aaa.txt bbb.txt -3 aaa aaa ddd eee 111 222 hhh ttt jjj
[root@ceshi comm]# comm aaa.txt bbb.txt -3 | sed 's/^\t//' comm: file 2 is not in sorted order comm: file 1 is not in sorted order aaa aaa ddd eee 111 222 hhh ttt jjj
sed ‘s/^\t//’ 是将制表符(\t)删除,以便把两列合并成一列。
差集:
通过删除不需要的列,可以得到aaa.txt和bbb.txt的差集:
aaa.txt的差集
[root@ceshi comm]# comm aaa.txt bbb.txt -2 -3 aaa ddd eee 111 222
bbb.txt的差集
[root@ceshi comm]# comm aaa.txt bbb.txt -1 -3 aaa hhh ttt jjj
相关文章推荐
- linux文本排序、交集、差集,查找并删除重复文件脚本、comm命令
- linux 文本文件的交集,差集 comm命令
- linux:使用comm命令比较两个文件:交集、差
- Linux文件比较,文本文件的交集、差集与求差
- Linux文件比较操作---文本文件的交集、差集与求差
- linux:使用comm命令比较两个文件:交集、差
- linux_coom _ Linux文件比较,文本文件的交集、差集与求差
- comm命令:文件的交集与差集
- linux下的comm和diff命令:用来比较两个文件的不同之处
- comm命令_Linux comm 命令用法详解:两个文件之间的比较
- linux下的comm和diff命令:用来比较两个文件的不同之处
- linux命令求两个文件的交集、差集、并集等
- linux下文件内容比较命令(diff,comm)
- linux diff与comm命令比较文件(找出新增内容)
- linux 比较文件相同部分comm命令和不同部分diff命令
- Linux入职基础-5.7_文件比较查找(命令实例)
- Linux 文件比较(grep/comm/awk)
- linux命令之diff命令详解(比较文件内容)
- linux比较两个文件是否一样(linux命令md5sum使用方法)
- linux之使用md5sum命令比较两个文件是否一样