diff输出的格式化


6

我有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

Answers:


5

有两种简单的方法可以解析输出diff或者你可以使用comm

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

  • comm -13 fileA fileB


diff还处理-u(unidiff)格式,它更容易在眼睛上。
vonbrand 2013年

4

虽然键入的内容多于使用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)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.