linux命令comm
-
comm命令是Linux系统中常用的一个文本处理工具,用于比较两个已排序的文件,并根据比较结果输出相应的行。下面我们来详细介绍comm命令的使用。
comm命令的基本语法为:
comm [OPTION]… FILE1 FILE2其中,FILE1和FILE2是要进行比较的两个已排序的文件。
comm命令的常用选项包括:
-1:不打印只在FILE1中出现的行
-2:不打印只在FILE2中出现的行
-3:不打印同时在FILE1和FILE2中出现的行
–check-order:检查输入文件是否已排序
-i:大小写不敏感
-u:只打印在FILE1和FILE2中各自出现的唯一行
-z,–zero-terminated:使用’\0’作为行终止符接下来,我们通过实例来说明comm命令的使用方法。
假设我们有两个已排序的文件file1.txt和file2.txt,内容分别如下:
file1.txt:
apple
banana
orangefile2.txt:
banana
grape
orange我们可以运行以下命令来使用comm命令:
comm file1.txt file2.txt运行结果将会输出以下内容:
apple
banana
graon以上结果中,第一列表示只在file1.txt中出现的行,第二列表示只在file2.txt中出现的行,第三列表示在两个文件中都出现的行。通过使用不同的选项,我们还可以过滤出不同的结果。
综上所述,comm是一个用于比较两个已排序文件并输出结果的实用命令,可以提高我们在Linux系统中对文本文件的处理效率。
2年前 -
Linux命令”comm”用于比较两个已经排序的文件的内容。它会按行比较两个文件,并输出它们的交集、差异和合集。下面是关于comm命令的详细解释和用法。
1. 基本用法:
comm命令的基本语法是:`comm [OPTION]… FILE1 FILE2`,其中`FILE1`和`FILE2`是要比较的两个已经排序的文件。2. 输出格式:
comm命令默认的输出格式为三列,第一列显示只出现在`FILE1`中的行,第二列显示只出现在`FILE2`中的行,第三列显示两个文件共有的行。通过选项可以控制输出的格式。3. 选项:
– `-1`:不显示只出现在`FILE1`中的行。
– `-2`:不显示只出现在`FILE2`中的行。
– `-3`:不显示两个文件共有的行。
– `-u`:只显示独特的行,不包括交集部分。
– `-1 -2`或`-2 -1`:只显示交集部分的行。
– `-b`:忽略每个行的前导空格。
– `-i`:忽略每个行的大小写差异。
– `-c`:输出交集、差异和合集各个部分的计数。4. 示例:
– `comm file1.txt file2.txt`:比较`file1.txt`和`file2.txt`的内容并显示交集、差异和合集。
– `comm -1 file1.txt file2.txt`:只显示`file1.txt`中独有的行。
– `comm -2 file1.txt file2.txt`:只显示`file2.txt`中独有的行。
– `comm -3 file1.txt file2.txt`:不显示两个文件共有的行。
– `comm -i file1.txt file2.txt`:忽略大小写差异进行比较。5. 注意事项:
– 两个输入文件必须是按照ASCII码排序的,否则结果可能不准确。
– 如果文件没有经过排序,可以使用`sort`命令对文件进行排序后再使用`comm`命令来比较。以上是关于Linux命令”comm”的详细解释和用法。
2年前 -
comm命令是Linux系统中的一个文本处理工具,用于比较两个已排序文件的差异。它将比较两个文件的内容,并以三列的形式输出结果,分别表示只存在于一个文件中的内容,共同存在于两个文件中的内容,以及只存在于另一个文件中的内容。下面将介绍comm命令的基本用法和示例。
## 基本用法
comm命令的基本语法如下:
“`
comm [选项]… 文件1 文件2
“`
选项说明:
– -1:不显示只存在于文件1中的内容。
– -2:不显示只存在于文件2中的内容。
– -3:不显示共同存在于文件1和文件2中的内容。
– -i:忽略大小写进行比较。
– -u:显示只存在于一个文件中的内容,并去除重复行。
– -z:使用空字符代替列分隔符。
– –check-order:检查输入文件是否按照排序顺序排列,并在排序错误时输出错误信息。## 操作流程
1. 使用comm命令比较两个已排序的文件:
“`
$ comm 文件1 文件2
“`
2. 根据需要使用不同的选项来过滤输出结果:
“`
$ comm -1 文件1 文件2 # 不显示只存在于文件1中的内容
$ comm -2 文件1 文件2 # 不显示只存在于文件2中的内容
$ comm -3 文件1 文件2 # 不显示共同存在于文件1和文件2中的内容
$ comm -i 文件1 文件2 # 忽略大小写进行比较
$ comm -u 文件1 文件2 # 显示只存在于一个文件中的内容,并去除重复行
$ comm -z 文件1 文件2 # 使用空字符代替列分隔符
$ comm –check-order 文件1 文件2 # 检查输入文件是否按照排序顺序排列
“`## 示例
假设有两个已排序的文本文件file1.txt和file2.txt,内容分别如下:file1.txt:
“`
apple
banana
kiwi
orange
“`
file2.txt:
“`
apple
grape
kiwi
pear
“`
1. 比较file1.txt和file2.txt的差异,并显示共同存在的内容:
“`
$ comm file1.txt file2.txt
“`
输出结果:
“`
apple
banana
kiwi
orange
grape
pear
“`2. 只显示只存在于file1.txt中的内容:
“`
$ comm -1 file1.txt file2.txt
“`
输出结果:
“`
banana
kiwi
orange
“`3. 只显示只存在于file2.txt中的内容:
“`
$ comm -2 file1.txt file2.txt
“`
输出结果:
“`
grape
pear
“`4. 不显示共同存在于file1.txt和file2.txt中的内容:
“`
$ comm -3 file1.txt file2.txt
“`
输出结果:
“`
banana
kiwi
orange
grape
pear
“`
以上示例展示了comm命令的基本用法和常见选项的使用方法。通过使用不同的选项,可以灵活地处理文本文件中的差异和共同内容。2年前