美文网首页
comm命令

comm命令

作者: 大明白 | 来源:发表于2016-05-05 18:33 被阅读211次

    comm: 比较两个已排序的文件

    语法: comm [-123][--help][--version][第一个文件][第二个文件]

    补充说明:这项指令会一列列的比较两个已排序文件的差异,并将其结果显示出来。如果没有指定任何参数,则会把结果分成3行显示,第1行是仅在第一个文件中出现的列,第2行是仅在第二个文件中出现过的列,第3行则是在两个文件中都出现过的列。若给予的文件名称是"-",则comm指令会从标准输入设备中读取数据。

    参数
    -1 不显示在第1个文件中出现的列
    -2 不显示在第2个文件中出现的列
    -3 不显示只在第1或第2个文件中出现的列
    选项1 2和3抑制相应的列显示,例如
    comm -12 显示两个文件中都出现的行
    comm -23 显示在第1个文件出现,而不是在第2个文件出现的行
    comm -123 什么都不显示

    一些例子:

    第一:两个文件的交集,并集
    前提条件:两个文件不得有重复的行(即两个文件都要去重)

    1. 取出两个文件的并集 cat file1 file2 | sort | uniq >file3
    2. 取出两个文件的交集 cat file1 file2 | sort | uniq -d >file3
    3. 删除交集 cat file1 file2 | sort | uniq -u < file3

    第二:两个文件合并

    1. 一个在上一个在下 cat file1 files2 >file3
    2. 一个在左一个在右 paste file1 file2 >file3
    3. cat file1 >> file2

    第三:一个文件去掉重复行

    1. sort file | uniq 把重复的行合并为一行
    2. sort file | uniq -u 把重复的行删除,仅保留非重复的行

    相关文章

      网友评论

          本文标题:comm命令

          本文链接:https://www.haomeiwen.com/subject/hfidrttx.html