Linux的diff命令选项

diff cookies.old cookies.new 5c5 < One cup vanilla extract --- > One teaspoon vanilla extract 7d6 < Six ounces chopped liver 21a22 

任何标志/选项可以帮助我摆脱这5c5,7d6,21a22的输出? 这些字符究竟是什么意思?

http://www.linuxselfhelp.com/gnu/diffutils/html_chapter/diff_3.html

注意:“正常格式的详细描述”

这些是行号和操作来改变一个到另一个。 “5c5”表示“第五行改为(replace)第五行”,“7d6”表示“删除第七行”,“21a22”表示“添加(追加)第22行”

您可以使用诸如--context=NUM--unified选项更改输出格式。

以下是关于diff文件的输出格式的更多信息 。

这个命令只显示不同的行,不显示行号和修改types(它也会消除“—-”分隔符):

 diff cookies.old cookies.new | grep '^[<>]' 

听起来就像你只是想要一个更友好的差异输出。 差异很大的主要原因是因为它被用来生成补丁。 为了更方便用户使用,我build议:

 [kbrandt@alpine: ~/scrap/diff] echo -e 'foo\nbar' > file1 [kbrandt@alpine: ~/scrap/diff] echo -e 'foo\nbaz' > file2 [kbrandt@alpine: ~/scrap/diff] diff -y file1 file2 foo foo bar | baz [kbrandt@alpine: ~/scrap/diff] colordiff -y file1 file2 

Colordiff将给你并排输出,但用不同颜色的线条来强调差异。

数字用于标识出现差异的文件的偏移量。

检查差异手册页或

http://ss64.com/bash/diff.html

http://en.wikipedia.org/wiki/Diff