差异输出的格式

差异输出的格式

我有 2 个文件需要区分。文件 B 是在文件 A 后追加了一些新行后生成的。我想使用 突出显示追加的数据diff

我想避免打印出‘>’字符和下面输出的‘10a11,14’。

阅读手册页后,diff我发现您可以指定结果的格式(LFMT),但是我在生成一些有用的东西时遇到了困难。

您能帮我删除那些我不需要的字符吗?

问候

AFG

   diff --left-column A.txt  B.txt

   10a11,14
   > TXT :   some text
   >         some text
   >         some text
   >         some text

答案1

有两种简单的方法可以做到这一点,您可以解析的输出diff,也可以使用comm

  • diff fileA fileB | grep '>' | sed 's/> *//'

  • comm -13 fileA fileB

答案2

尽管使用 需要输入更多内容comm,但以下内容提供了选项的演示--GTYPE-group-format

diff --unchanged-group-format="" --new-group-format="%>" A.txt B.txt

此命令将仅打印 中的行,B.txt而不打印 中的A.txt行。第一个选项会隐藏公共行。无需使用--changed-group-format(每个文件中没有具有不同值的行)或--old-group-format( 中的所有内容A.txt也在 中B.txt)。

相关内容