次: , 前: Context, 上: Output Formats


2.4 差異を並べて表示する

diffでは,二つのファイルの差異のリストを並べて生成することが可 能です.縦段落間の溝を用いてファイルは二列にリストアップされます.縦段落 間の溝は以下のマーカの一つを含んでいます.

white space
共通の対応する行です.すなわち,それぞれの行は同じ,または --ignoreオプション(see White Space)の一つで無視されている差 しかありません.
`|'
対応する行に差があり,両方とも完全または両方とも不完全です.
`<'
ファイルに差があり,最初のファイルだけに含まれている行です.
`>'
ファイルに差があり,二番目のファイルだけに含まれている行です.
`('
最初のファイルだけに含まれている行ですが,差異は無視されます.
`)'
二番目のファイルだけに含まれている行ですが,差異は無視されます.
`\'
対応する行に差があり,最初のファイルの行のみが不完全です.
`/'
対応する行に差があり,二番目のファイルの行のみが不完全です.

通常出力行は,それは不完全な行が含まれている場合だけ不完全です. See Incomplete Lines. しかし,出力行が二つの差異のある行に表示される とき,一方は不完全でもう一方はそうでないかもしれません.この状況では,出 力行は完全ですが,その縦段落間の溝は,最初の行が不完全な場合は`\' で,二番目の行が不完全な場合は`/'で印が付いています.

並べた書式が最も読み易いときもありますが,それには制限があります.それは 通常よりはるかに幅広の出力を生成し,長過ぎると切り詰められます.また,通 常より出力の整列状態に強く依存するので,可変幅フォント,標準的ではないタ ブストップ,または表示不可能な文字を使用している場合,その出力は特に見栄 えが悪くなります.

並べた差異を対話的にマージするために,sdiffコマンドを使用する ことも可能です.ファイルのマージの詳細は,See Interactive Merging.