comm命令
来源:互联网 发布:企业大数据战略 编辑:程序博客网 时间:2024/05/16 19:54
一、常用用法
comm FILE1 FILE2
二、含义与选项
2.1、含义
对于两个已排序的文件,逐行比对。
打印结果有3列:第1列,只属于“FILE1”的行;第2列,只属于“FILE2”的行;第3列,既属于“FILE1”,又属于“FILE2”的行。
2.2、选项表示的意思
“FILE1,FILE2”:指代已排序文件“FILE1”和“FILE2”
三、其他
3.1、“LC_COLLATE”等环境变量
由于涉及到两个字符串的比较等,故而程序实现中使用“LC_COLLATE”等环境变量,最终结果受到“LC_COLLATE”等环境变量的控制。
3.2、排序策略
comm命令实现设定的排序策略是“按照字典序排序”。两个已排序文件使用的排序策略组合共有3种情况。
3.2.1、情况1
一个排序文件按照字典序排序,另外一个排序文件按照非字典序(其他排序策略)排序。显而易见,在这种情况下,comm命令的执行结果会比较奇怪。
3.2.2、情况2
两个排序文件都按照同一个排序策略(非字典序)排序,这种情况下,comm命令的执行结果还是不能达到我们的预期。
接下来通过例子说明,有文件“c.txt”和“d.txt”,内容分别如下所示:
00102310
0010250600710
即已按照“数值大小”排序,执行“逐行比对”过程,我们的预期结果是:“3”只属于“c.txt”,“5,06,007”只属于“d.txt”,“001,02,10”共属于两个文件。
现在执行comm c.txt d.txt
命令,得到如图1所示结果,不能达到预期。
图1
执行comm --nocheck-order c.txt d.txt
命令,得到如图2所示结果,也不能达到预期。
图2
3.2.3、情况3
两个文件都已按照字典序排序,这符合comm命令实现的设定,comm命令的执行结果能够达到预期。执行下述命令,得到如图3所示结果,结果符合预期。
sort c.txt > cc.txtsort d.txt > dd.txtcomm cc.txt dd.txt
图3
参考文献:
[1]man comm
0 0
- comm命令
- comm命令
- comm命令
- comm命令
- 文件比较命令comm
- linux comm 命令介绍
- comm命令比较文件
- Linux comm命令
- sort awk comm命令
- linux中comm命令用法
- linux中comm命令用法
- 文本比较命令comm,diff
- linux comm命令使用简介
- comm
- Comm
- comm
- 图解Linux命令之--comm命令
- linux shell comm命令的使用
- Android圆形头像。简单实用零依赖,拷贝即可使用
- java动态代理jdk与cglib详细讲解
- onSaveInstanceStat和onRestoreInstanceState调用时机
- 浅谈Java中的hashcode方法
- 局部变量申请栈空间时的入栈顺序
- comm命令
- 一些凌乱的小知识
- 关于如何使用websocket 接收并显示图片或者操作二进制
- css 的@media print控制打印
- HDFS入门了解心得
- unity3d中OnEnable和Awake的顺序问题
- 弃用 Blog
- Java Web网站搭建SSL证书的问题与解决方案
- tomcat(17)启动tomcat