第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1332字,纯文字阅读大概需要2分钟。
内容图文
![第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令](/upload/InfoBanner/zyjiaocheng/1176/c2236f886e2341688b213fa1962f4bf7.jpg)
名词解释
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
原文:http://blog.51cto.com/506554897/2150561
内容总结
以上是互联网集市为您收集整理的第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令全部内容,希望文章能够帮你解决第二十二章 Linux文件比较,文本文件的交集、差集与求差:comm命令所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。