zoukankan      html  css  js  c++  java
  • comm命令

    comm命令

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

    语法

    comm [OPTION]... FILE1 FILE2
    

    参数

    • -1: 禁止列1(FILE1唯一的行)。
    • -2: 禁止列2 (FILE2唯一的行)。
    • -3: 禁止列3(出现在两个文件中的行)。
    • --check-order: 检查输入是否正确排序,即使所有输入行都是可配对的。
    • --nocheck-order: 不检查输入是否正确排序。
    • --output-delimiter=STR: 用字符串STR分隔列。
    • -z, --zero-terminated: 指定行分隔符是NUL,不是换行符。
    • --help: 显示帮助消息。
    • --version: 输出版本信息。

    示例

    recipe.txt文件与shopping-list.txt文件内容,这两个文件不同,但许多行是相同的,并非所有的配方成分都在购物清单上,也不是购物清单上的所有成分都是食谱的一部分。

    # recipe.txt
    All-Purpose Flour
    Baking Soda
    Bread
    Brown Sugar
    Chocolate Chips
    Eggs
    Milk
    Salt
    Vanilla Extract
    White Sugar
    
    # shopping-list.txt
    All-Purpose Flour
    Bread
    Brown Sugar
    Chicken Salad
    Chocolate Chips
    Eggs
    Milk
    Onions
    Pickles
    Potato Chips
    Soda Pop
    Tomatoes
    White Sugar
    

    使用comm命令,其将读取这两个文件并给我们三列输出,在这里,每行输出的开头都有012个制表符,将输出分成三列:

    • 第一列zero tabs是只出现在第一个文件中的行。
    • 第二列one tabs是只出现在第二个文件中的行。
    • 第三列two tabs是出现在两个文件中的行。
    comm recipe.txt shopping-list.txt
    #                All-Purpose Flour
    #Baking Soda
    #                Bread
    #                Brown Sugar
    #        Chicken Salad
    #                Chocolate Chips
    #                Eggs
    #                Milk
    #        Onions
    #        Pickles
    #        Potato Chips
    #Salt
    #        Soda Pop
    #        Tomatoes
    #Vanilla Extract
    #                White Sugar
    

    比较recipe.txt文件与shopping-list.txt文件,并禁用第1与第2列的输出。

    comm -12 recipe.txt shopping-list.txt
    # All-Purpose Flour
    # Bread
    # Brown Sugar
    # Chocolate Chips
    # Eggs
    # Milk
    # White Sugar
    

    每日一题

    https://github.com/WindrunnerMax/EveryDay
    

    参考

    https://www.computerhope.com/unix/ucomm.htm
    https://www.runoob.com/linux/linux-comm-comm.html
    https://www.geeksforgeeks.org/comm-command-in-linux-with-examples/
    
  • 相关阅读:
    数据结构与算法(3-4)--矩阵的压缩存储
    数据结构与算法(3-3)--队列的应用
    数据结构与算法(3-2)--栈的应用
    数据结构与算法(3-1)--栈和队列
    数据结构与算法(2)--线性表(数组和链表)
    数据结构与算法(1)--时间及空间复杂度
    python变量与地址的关系
    python高级(03)--socket编程
    python高级(02)--生成器和迭代器
    python处理http接口请求
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/13936037.html
Copyright © 2011-2022 走看看