AIX命令参考大全,卷 5,s - u - sdiff 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 5,s - u

sdiff 命令

用途

比较两个文件并以并排的格式显示差别。

语法

sdiff-l | -s ] [  -o OutFile ] [  -w Number ] File1 File2

描述

sdiff 命令读取由 File1File2 参数指定的文件,使用 diff 命令比较二者,并将结果以并排格式写到标准输出中。如果行相同,那么 sdiff 命令就会显示两个文件的每一行,其间有一系列的空格。如果行只存在于 File1 参数指定的文件中,那么在空白字段里就会显示 <(小于号),如果行只存在于 File2 参数指定的文件中,那么就显示 >(大于号),如果两行不同就显示 |(竖线)。

当您指定了 -o 标志时,sdiff 命令就会将 File1File2 参数指定的文件合并,产生第三个文件。

注:sdiff 命令调用 diff -b 命令来比较两个输入文件。 -b 标志会引起 diff 命令忽略尾随空格和制表符,并将其它空格字符串视为相同。

标志

-l 当行相同时只显示左侧。
-o OutFile 通过将 File1File2 参数指定的两个文件在受控下逐行合并,来创建 OutFile 变量指定的第三个文件。以下子命令管理该文件的创建:
e
以空文件开始 ed 命令。
e b or e |
从两侧开始 ed 命令。
e l or e <
从左侧开始 ed 命令。
e r or e >
从右侧开始 ed 命令。
l
将左侧添加到输出文件。
r
将右侧添加到输出文件。
s
停止显示相同的行。
v
开始显示相同的行。
q
执行以下功能之一:
  • 退出 ed 命令。
  • 如果没有运行 ed 命令,则退出 sdiff 命令。
  • 退出两条命令。不再有合并至输出文件的行时,执行该操作。

每次退出 ed 命令时,sdiff 命令将作为结果的已编辑文件写到 OutFile 变量指定的文件结尾。如果您在退出之前没有保存更改(例如,按下 Ctrl-C 按键顺序),那么 sdiff 命令将初始的输入写到输出文件中。

-s 不显示相同的行。
-w Number 设置输出行的宽度。Number 变量的缺省值是 130 个字符。Number 变量的最大宽度是 2048。Number 变量的最小宽度是 20。如果指定的值大于 2048,那么 sdiff 命令使用 2048。

示例

  1. 要打印两个文件的比较,请输入:

    sdiff chap1.bak chap1 

    sdiff 命令显示并排的列表,它比较 chap1.bakchap1 文件的每行。

  2. 要只显示不同的行,请输入:
    sdiff  -s  -w 80 chap1.bak chap1
    sdiff 命令在工作站显示差别。 -w 80 标志和变量将页宽设置为 80 列。 -s 标志表示不显示两个文件中相同的行。
  3. 要有选择地组合两个文件的部分,请输入:
    sdiff  -s  -w 80  -o chap1.combo chap1.bak chap1
    sdiff 命令将 chap1.bakchap1 文件组合成名为 chap1.combo 的新文件。对于每组不同的行,sdiff 命令会提示您保持哪个组或是否想使用 ed 命令来对其进行编辑。
  4. 要组合和编辑两个文件(staff.janstaff.apr),并将结果写到 staff.year 文件中,请执行标明的步骤。

    staff.jan 文件包含以下行:

    会计部门成员
    Andrea
    George
    Karen
    Sam
    Thomas

    staff.apr 文件包含以下行:

    会计部门成员
    Andrea
    Fred
    Mark
    Sam
    Wendy
    1. 请输入以下命令:

      sdiff -o staff.year staff.jan staff.apr

      sdiff 命令会开始比较 staff.janstaff.apr 文件的内容,并将结果写到 staff.year 文件中。sdiff 命令显示以下内容:

      会计部门成员   会计部门成员
      Andrea                            Andrea
      George                          | Fred
      %

      %(百分号)是命令提示符。

    2. 输入 e b 子命令以开始使用 ed 命令编辑输出文件。

      sdiff 命令显示数字序列,它表示合并的行的字节数。在这种情况下,字节数是 23

    3. 输入 q 子命令以退出 ed 命令,并继续组合和编辑这两个文件。 sdiff 命令显示以下内容:

      Sam                              Sam
      Thomas                          | Wendy
        
    4. 请再次输入 e b 子命令。每当两个原始文件的一组行合并成输出文件时,必须运行 ed 命令。在本例中的字节数是 13
    5. 请输入 q 子命令来保存更改。当将两个文件的所有行都合并成输出文件时,q 子命令退出 edsdiff 命令。
    现在 staff.year 文件包含以下内容:

    会计部门成员
    Andrea
    George
    Karen
    Fred
    Mark
    Sam
    Thomas
    Wendy

文件

/usr/bin/sdiff 包含 sdiff 命令。

相关信息

diff 命令、ed 命令。

《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『文件概述』『输入和输出重定向概述』

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]