linux命令comm的用法

worktile 其他 38

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    comm命令是Linux系统中的一个基础命令,用于比较两个已排序的文件并找出共有行、独有行或不同行。它的语法格式为:

    comm [选项]… 文件1 文件2

    其中,文件1和文件2为待比较的文件。

    comm命令的选项有以下几种常用的:

    -1:不显示第一个文件独有的行;
    -2:不显示第二个文件独有的行;
    -3:不显示两个文件共有的行;
    –check-order:检查输入文件是否已按照排序顺序排列;
    –nocheck-order:不检查输入文件的排序顺序。

    使用comm命令的一个常见场景是比较两个文件,找出共有的行。例如:

    comm -12 file1.txt file2.txt

    这条命令将比较file1.txt和file2.txt两个文件,并显示两个文件共有的行。-12选项的含义是不显示独有行,只显示共有行。

    另外,我们还可以使用comm命令找出文件1中独有的行或文件2中独有的行。例如:

    comm -23 file1.txt file2.txt

    这条命令将比较file1.txt和file2.txt两个文件,并显示文件1独有的行,-23选项的含义是不显示共有行,只显示文件1中独有的行。

    同时,comm命令也支持和其他命令结合使用,进行更复杂的操作。例如,我们可以使用comm命令和sort命令一起使用,对两个文件进行排序并比较。具体用法如下:

    comm <(sort file1.txt) <(sort file2.txt)这条命令将对file1.txt和file2.txt两个文件进行排序,并使用comm命令比较它们。这样做可以确保文件已按照排序顺序排列,避免错误的比较结果。总的来说,comm命令是一个非常实用的比较文件的工具,可以帮助我们找出两个文件中的共有行、独有行或不同行,方便我们进行文件内容的比较和处理。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    comm命令用于比较两个已排序的文件,并以行为单位显示文件之间的相似和不同之处。它可以帮助用户找出两个文件中共有的行、文件1独有的行以及文件2独有的行。

    comm命令的基本语法为:
    “`
    comm [OPTION]… FILE1 FILE2
    “`

    下面是comm命令的几个常用选项:

    1. -1:不显示文件1中独有的行。
    2. -2:不显示文件2中独有的行。
    3. -3:不显示两个文件共有的行。
    4. -i:不区分大小写进行比较。
    5. -u:只显示两个文件中的唯一行。

    使用示例:
    假设我们有两个文件`file1.txt`和`file2.txt`分别包含以下内容:

    file1.txt:
    “`
    apple
    banana
    orange
    “`

    file2.txt:
    “`
    apple
    grape
    orange
    “`

    1. 显示两个文件中的共有行:
    “`
    $ comm file1.txt file2.txt
    apple
    orange
    “`
    结果中的第一列为空格,表示共有的行;第二列是`file1.txt`独有的行;第三列是`file2.txt`独有的行。

    2. 只显示`file1.txt`中独有的行:
    “`
    $ comm -23 file1.txt file2.txt
    banana
    “`

    3. 不区分大小写进行比较:
    “`
    $ comm -i file1.txt file2.txt
    apple
    banana
    grape
    orange
    “`
    结果中所有行都被显示,并且不区分大小写。

    4. 只显示两个文件中的唯一行:
    “`
    $ comm -u file1.txt file2.txt
    apple
    banana
    grape
    orange
    “`
    结果中所有行都被显示,且没有重复的行。

    以上就是comm命令的基本用法和几个常用选项。通过比较两个已排序的文件,comm命令可以帮助用户快速找到共有和不同的行,并加快了文件比较的过程。

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

    comm命令是Linux系统中的一个文本处理工具,主要用于比较两个已经分别排好序的文件,并根据比较结果输出文件的交集、差集和并集等。

    comm命令的基本语法如下:
    “`shell
    comm [选项] FILE1 FILE2
    “`

    其中,FILE1和FILE2是需要进行比较的两个文件的名称。

    下面将详细介绍comm命令的一些常用选项和用法:

    ### 1. -1, -2, -3

    选项`-1`、`-2`和`-3`用于指定输出的内容,分别对应于FILE1、FILE2和两个文件的交集。例如:
    “`shell
    comm -1 FILE1 FILE2
    “`

    ### 2. -i

    选项`-i`表示在比较过程中忽略大小写。即使在文件的排序顺序不同的情况下,也会被视为相同的行。

    ### 3. -c

    选项`-c`用于计数输出。会在输出的每一行前面添加一个以制表符分隔的计数器,表示该行在输入文件中的出现次数。

    ### 4. -d

    选项`-d`表示仅输出两个文件相同的行。不包括只在一个文件中出现的行。

    ### 5. -u

    选项`-u`表示仅输出两个文件不同的行。不包括在两个文件中都出现的行。

    ### 6. -t

    选项`-t`用于指定输出时的分隔符。默认情况下,comm命令使用制表符作为分隔符。可以使用`-t`选项来指定其他分隔符。

    ### 7. 示例
    假设有两个已经排序的文件file1.txt和file2.txt,内容分别如下:

    file1.txt:
    “`shell
    apple
    banana
    grape
    lemon
    orange
    “`

    file2.txt:
    “`shell
    banana
    grape
    kiwi
    lemon
    “`

    使用comm命令比较这两个文件:
    “`shell
    comm file1.txt file2.txt
    “`

    输出结果为:
    “`shell
    apple
    kiwi
    orange

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

400-800-1024

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

分享本页
返回顶部