我有这两个文件
文件:11
11
456123文件:22
11
789diff 11 22的输出
2c2
< 456123
---
> 789输出将为
< 456123
> 789我希望它不打印2c2和---行。我查看了手册页,但找不到任何帮助。有什么想法吗?该文件超过1000行。
发布于 2010-05-01 16:39:38
那diff 11 22 | grep "^[<|>]"呢?
更新:正如knitti指出的那样,正确的模式是^[<>]
发布于 2010-05-01 20:49:20
Diff有一大堆有用的选项,如--old-group-format,在帮助中有非常简要的描述。它们在http://www.network-theory.co.uk/docs/diff/Line_Group_Formats.html中进行了扩展
下面的代码将生成与您想要的内容类似的内容。
diff 11.txt 22.txt --unchanged-group-format="" --changed-group-format="<%<>%>"
<456123
>789您可能还需要使用--old-group-format=format (组块只包含第一个文件中的行)、--new-group-format=format、--old-line-format=format (格式化第一个文件中的行)和--new-line-format=format等
免责声明-我以前并没有真正使用过这一点,事实上我只是刚刚理解了它们。如果你有进一步的问题,我很乐意稍后再看。
编辑了以更改行的顺序
https://stackoverflow.com/questions/2749316
复制相似问题