我有这两个文件
档案:11
11
456123
档案:22
11
789
diff 11 22
2c2
< 456123
---
> 789
输出
< 456123
> 789
我希望它不打印2c2
和---
行。我查看了手册页但找不到任何帮助。有任何想法吗?该文件有超过1000行。
答案 0 :(得分:5)
diff 11 22 | grep "^[<|>]"
怎么样?
更新:正如knitti指出正确的模式是^[<>]
答案 1 :(得分:2)
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
(格式化第一个文件中的行)和{{1}等等
免责声明 - 我之前没有使用过这个,事实上我只是理解它们。如果您还有其他问题,我很乐意稍后再看。
已修改以更改行的顺序