使用Shell脚本比较两个文件

使用Shell脚本比较两个文件,shell,Shell,我必须比较两个类似的文件 A B --- --- 110-01 110-01 120-02 110-02 ... 120-02 .... 并且必须打印B文件中存在的额外元素。您需要区分: 您需要区分: diff是一个明显的选择,但

我必须比较两个类似的文件

    A                      B
   ---                    ---    
  110-01                 110-01
  120-02                 110-02
    ...                  120-02
                          ....
并且必须打印B文件中存在的额外元素。

您需要区分: 您需要区分:
diff是一个明显的选择,但它当然会在行级别进行比较,并且文件中的标记以空格分隔。可以使用sed将空格更改为线。接下来对两个文件进行排序,最后进行差异排序。

diff是一个明显的选择,但这当然会在行级别进行比较,并且显示为文件中的标记以空格分隔。可以使用sed将空格更改为线。接下来对两个文件进行排序,最后进行差异。

您需要设置差异

对于已排序的文件:

join -t'\0' -v2 file1 file2
sort file1 file1 file2 | uniq -u
对于未排序的文件:

join -t'\0' -v2 file1 file2
sort file1 file1 file2 | uniq -u

有关更多设置操作,请参见您需要设置差异

对于已排序的文件:

join -t'\0' -v2 file1 file2
sort file1 file1 file2 | uniq -u
对于未排序的文件:

join -t'\0' -v2 file1 file2
sort file1 file1 file2 | uniq -u

有关更多设置操作,请参见

,但如果您的文件仅包含一行以空格或逗号分隔的值,则设置操作非常无用;如果您的文件仅包含一行以空格或逗号分隔的值,则设置操作非常无用