如何找到2个文件之间的差异

时间:2018-09-02 20:02:12

标签: linux bash

我有2个txt文件。

第一个txt文件包含以下内容:direction:left,move:right

第二个txt文件包含以下内容:direction:right,move:right

注意:在两个txt文件中,所有内容都在一行上。

我希望能够得到这两个txt文件之间的区别。因此,在上面的示例中,它将返回“ right”。


我尝试使用grep,comm和diff。那些没有用,因为我只打印了不同的短语,而不是打印出确切的区别,而是打印了不同的行。

如何在bash中执行此操作?

1 个答案:

答案 0 :(得分:-1)

使用grep -F -x -v -f fileB fileA | cut -d':' -f2

这通过将fileB中的每一行用作模式(-f fileB)并将其视为要匹配的纯字符串(而不是常规正则表达式)(-F)来工作。您强制匹配发生在整行(-x)上,并仅打印不匹配的行(-v)。因此,您正在打印出fileA中不包含与fileB中任何行相同数据的行。

然后cut -d':' -f2:作为分隔符分割字符串并获取第二个值。