A.TXT
1
2
3
4
5
6
b.txt
10
2
3
40
50
6
70
我想对这些生成以下输出的文件运行一些命令。
10
40
50
70
如何在两个文件上运行差异,但仅显示已更改的行。我不希望输出周围有任何其他元数据。
我也不希望看到更改行的任何上下文。
答案 0 :(得分:5)
尝试
comm -1 -3 a.txt b.txt
comm,common lines,是一个方便的命令。
答案 1 :(得分:1)
如果你遇到问题,我就可以开始工作了
$ diff -U0 a.txt b.txt | grep ^+ | sed -e /s^+//
答案 2 :(得分:1)
其实我很喜欢Brian的答案,使用“comm”。这对我来说很新,对我有用。
我更复杂的方法是使用diff,grep链接然后sed删除前两个字符。
diff a.txt b.txt | grep ">" | sed s/..//
不漂亮,不是防弹,而是快速破解。