cmp 比较两个文件,并指出它们是否不同及不同的字节。
diff 比较两个文件或目录,并指出哪些文件的哪些行不同。
diff3 逐行比较三个文件。
sdiff 合并两个文件,并以交互方式输出结果。
vimdiff 使用vim同时编辑一个文档的2或3个版本并显示他们的区别使用。
comm 一行一行对两个已经排序的文件进行比较,在第三列中显示同一行是否相同。
linux diff sdiff 找目录和文件的差异:
记录下俺自己习惯的用法:diff -rq /root/Launcher/src/com/android/launcher /work/Launcher/src/com/android/launcher
这条命令会列出两个目录(及其子目录)下有差异的文件名称。两个参数的作用分别是:
-q: 仅显示有无差异,不显示详细的信息;
-r: 递归比较子目录中的文件。
sdiff -s /work/Launcher2/src/com/android/launcher2/Workspace.java /root/src/launcher2/Workspace.java
sdiff -l /work/Launcher2/src/com/android/launcher2/Workspace.java /root/src/launcher2/Workspace.java
这两个命令都用来比较两个文件。两个参数的作用分别是:
-l 相同的行只输出在结果的左边(右边则只显示与左边有差异的行的内容);
-s 不显示相同的行(分两栏显示有差异的行的内容).
sdiff 命令
sdiff [ -l | -s ][ -o OutFile] [ -w Number ]File1 File2
sdiff 命令读取由 File1 和File2 参数指定的文件,使用 diff命令比较二者,并将结果以并排格式写到标准输出中。如果行相同,那么 sdiff 命令就会显示两个文件的每一行,其间有一系列的空格。如果行只存在于File1 参数指定的文件中,那么在空白字段里就会显示 <(小于号),如果行只存在于File2 参数指定的文件中,那么就显示 >(大于号),如果两行不同就显示 |(竖线)。
当您指定了 -o 标志时,sdiff 命令就会将 File1 和 File2参数指定的文件合并,产生第三个文件。
注:sdiff 命令调用 diff -b 命令来比较两个输入文件。-b 标志会引起 diff 命令忽略尾随空格和制表符,并将其它空格字符串视为相同。
sdiff 命令显示并排的列表,它比较 chap1.bak 和 chap1 文件的每行。
sdiff -s -w 80 chap1.bak chap1
sdiff 命令在工作站显示差别。 -w80 标志和变量将页宽设置为 80 列。 -s 标志表示不显示两个文件中相同的行。
sdiff -s -w 80 -o chap1.combo chap1.bak chap1
sdiff 命令将 chap1.bak和 chap1 文件组合成名为 chap1.combo 的新文件。对于每组不同的行,sdiff 命令会提示您保持哪个组或是否想使用 ed 命令来对其进行编辑。
staff.jan 文件包含以下行:
Andrea
George
Karen
Sam
Thomas
staff.apr 文件包含以下行:
Andrea
Fred
Mark
Sam
Wendy
sdiff -o staff.year staff.janstaff.apr
sdiff 命令会开始比较 staff.jan和 staff.apr 文件的内容,并将结果写到 staff.year文件中。sdiff 命令显示以下内容:
Andrea Andrea
George | Fred
%
%(百分号)是命令提示符。
sdiff 命令显示数字序列,它表示合并的行的字节数。在这种情况下,字节数是23。
e. Thomas | Wendy
现在 staff.year 文件包含以下内容:
Andrea
George
Karen
Fred
Mark
Sam
Thomas
Wendy
包含 sdiff 命令。 |