linux命令comm的用法

worktile 其他 19

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    comm命令是Linux系统中的一个文本处理工具,用于比较两个已排序文件的差异,并输出相应结果。

    comm命令的基本用法如下:
    comm [选项] 文件1 文件2

    选项:
    -1:只显示出存在于文件1中的行
    -2:只显示出存在于文件2中的行
    -3:只显示出同时存在于文件1和文件2中的行
    -c:同时显示出存在于文件1和文件2中的行,并计算行数
    -d:仅显示出存在差异的行
    -u:只输出存在于文件1和文件2中的唯一行
    -12:取消默认的左对齐输出

    下面具体介绍一下这些选项的用法:

    1. comm -1 文件1 文件2
    该命令会显示存在于文件1中的行,即文件1中独有的行。

    2. comm -2 文件1 文件2
    该命令会显示存在于文件2中的行,即文件2中独有的行。

    3. comm -3 文件1 文件2
    该命令会显示同时存在于文件1和文件2中的行。

    4. comm -c 文件1 文件2
    该命令会显示同时存在于文件1和文件2中的行,并且还会计算行数。

    5. comm -d 文件1 文件2
    该命令会仅显示存在差异的行,即只输出不同的行。

    6. comm -u 文件1 文件2
    该命令会显示存在于文件1和文件2中的唯一行,即不重复的行。

    7. comm -12 文件1 文件2
    该命令会取消默认的左对齐输出,使输出结果更紧凑。

    需要注意的是,使用comm命令进行文件比对之前,文件必须是经过排序的,可以使用sort命令进行排序。

    以上就是comm命令的基本用法,通过这些选项可以根据不同的需求进行文件差异比对和数据筛选。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    comm命令是一个用于比较两个已排序文件的Linux命令。它根据文件的行内容对文件进行比较,并根据比较结果生成三个列出的结果文件。以下是comm命令的一些常见用法。

    1. 比较两个文件的差异:comm命令通常用于比较两个已排序的文件,并找出它们之间的差异。比如,我们有两个文件file1.txt和file2.txt,可以使用以下命令来比较它们的差异:
    comm file1.txt file2.txt

    这将输出三列结果,第一列显示只在file1.txt中出现的行,第二列显示只在file2.txt中出现的行,第三列显示两个文件中共同出现的行。

    2. 显示唯一的行:comm命令也可以用来显示两个文件中的唯一行。要显示只在一个文件中出现的行,可以使用-n参数,后跟文件的位置。例如:
    comm -23 file1.txt file2.txt

    这将只显示在file1.txt中出现的行,而不显示在file2.txt中出现的行。

    3. 忽略空格进行比较:默认情况下,comm命令会考虑两个文件中的空格,并将其视为差异。但是,可以使用-i参数来忽略空格,只比较实际的字符。例如:
    comm -i file1.txt file2.txt

    这将忽略file1.txt和file2.txt中的空格,并只比较实际的字符。

    4. 指定分隔符:comm命令默认以制表符为分隔符,但可以使用-d参数来指定不同的分隔符。例如,如果要使用空格作为分隔符,可以使用以下命令:
    comm -d file1.txt file2.txt

    这将使用空格作为分隔符来比较file1.txt和file2.txt。

    5. 输出不同的行号格式:默认情况下,comm命令会在输出的每一行前面添加一个制表符和行号。但是,可以使用–nocheck-order参数来禁用行号的输出。例如:
    comm –nocheck-order file1.txt file2.txt

    这将禁用行号的输出,并且仅显示行的内容。

    综上所述,comm命令是一个非常有用的工具,可用于比较并处理已排序文件的差异。通过使用不同的选项和参数,可以根据需要定制comm命令的行为。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    comm命令是一个用于比较两个已经排好序的文件每行内容的Linux命令。它可以找出两个文件中共有的部分、不同的部分和只存在于一个文件中的部分。comm 命令的基本语法如下:

    “`shell
    comm [OPTION]… FILE1 FILE2
    “`
    其中,FILE1和FILE2是需要比较的两个文件。

    下面我们将详细介绍comm命令的使用方法和操作流程。

    ## 1. 比较两个文件的内容

    首先,我们需要创建两个文件file1.txt和file2.txt,分别包含将要比较的内容。然后可以使用comm命令比较这两个文件:

    “`shell
    $ comm file1.txt file2.txt
    “`

    comm命令默认会输出3列,分别是两个文件共有的行、只在第一个文件中的行和只在第二个文件中的行。例如,如果file1.txt的内容为:

    “`
    apple
    banana
    orange
    “`

    而file2.txt的内容为:

    “`
    banana
    grape
    orange
    “`

    那么comm命令的输出结果将为:

    “`
    apple
    banana
    grape
    orange
    “`

    其中,以制表符分隔的空白表示没有对应的行。

    ## 2. 指定输出列

    我们可以使用命令选项来指定comm命令的输出列。

    – `-1`:只输出在第一个文件中独有的行。
    – `-2`:只输出在第二个文件中独有的行。
    – `-3`:只输出两个文件共有的行。

    例如,如果我们只想输出在第一个文件中独有的行,可以使用以下命令:

    “`shell
    $ comm -1 file1.txt file2.txt
    “`

    输出结果为:

    “`
    apple
    “`

    ## 3. 忽略首部空白字符

    默认情况下,comm命令会将首部的空白字符看作是行内容的一部分。如果想要忽略首部的空白字符进行比较,可以使用`-b`选项。

    例如,假设file1.txt的内容为:

    “`
    apple
    banana
    orange
    “`

    comm命令输出结果将会是:

    “`
    apple
    banana
    orange
    “`

    如果使用`-b`选项,comm命令输出结果将会是:

    “`
    apple
    banana
    orange
    “`

    ## 4. 指定分隔符

    comm命令默认以制表符作为输出列的分隔符。如果需要使用其他分隔符,可以使用`-t`选项指定。

    例如,创建一个以逗号分隔的文件file3.txt:

    “`
    apple,banana
    orange,pineapple
    “`

    使用comm命令进行比较并指定分隔符:

    “`shell
    $ comm -t, file1.txt file3.txt
    “`

    输出结果为:

    “`
    apple
    banana
    orange,pineapple
    “`

    ## 5. 忽略大小写

    comm命令默认是区分大小写的。如果想要忽略大小写进行比较,可以使用`-i`选项。

    例如,假设file1.txt的内容为:

    “`
    APPLE
    BANANA
    ORANGE
    “`

    使用comm命令进行比较并忽略大小写:

    “`shell
    $ comm -i file1.txt file2.txt
    “`

    输出结果为:

    “`
    apple
    banana
    grape
    orange
    “`

    ## 6. 结合其他命令使用

    comm命令支持和其他命令一起使用,例如grep、sort等。下面是一些常见的案例:

    – 结合grep命令,找出两个文件共有的行:

    “`shell
    $ comm file1.txt file2.txt | grep -v ‘^ ‘
    “`

    – 结合sort命令,对两个文件进行排序后比较:

    “`shell
    $ comm <(sort file1.txt) <(sort file2.txt)```- 使用comm命令和uniq命令一起去重:```shell$ comm -12 <(sort file1.txt) <(sort file2.txt) | uniq```以上是comm命令的基本用法和操作流程。通过合理运用comm命令,我们可以方便地比较两个文件的内容并获取相应的结果。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部