[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

5. diffの出力をより良くする

diffは,出力の見え方を調整する方法をいくつかの提供しています. これらの調整は,あらゆる出力書式に適用することが可能です.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

5.1 タブストップの位置合わせを保持する

いくつかのdiff出力書式のテキストには,テキストが挿入されている, 削除されている,または変更されていることを示す一文字または二文字が前置さ れます.これらの文字を追加することで,タブが次のタブストップに移動し,行 での列の位置揃えがなくなります.GNU diffは,行でのタブに よる列の位置揃えを正しくする二つの方法を提供しています.

最初の方法は,diffで出力する前に,すべてのタブを正しい数のスペー スに変更することです.この手法は‘-t’や‘--expand-tabs’オプ ションで選択してください.diffはタブストップを8列ごとに設定さ れていると仮定します.この形式の出力をpatchで使用するとき, patchに‘-l’や‘--ignore-white-space’オプションを 与える必要があります(詳細は,see section 空白が変更されているパッチを適用する).

タブの行の揃えを正しくするもう一つの方法は,スペースの代わりにタブを,行 の最初の指示文字の後に追加する方法です.これで,それ以下のすべてのタブ文 字が元のファイルでのタブストップに対応して,出力の位置会わせが正しくなる ように,同じ場所に確実に位置します.その欠点は,行が余りに長くなり過ぎて, 画面や用紙の一行に適さないようになることです.また,一体化した出力書式で は変更形式を示す文字の後にスペースがないので,これでも動作しません.この 手法は,‘-T’や‘--initial-tab’オプションで選択してください.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

5.2 diff出力のページ分割

長い出力にページ番号を付けたり,タイムスタンプを付けることも便利でしょう. diffの出力をprプログラムに渡す,‘-l’と ‘--paginate’オプションでこうなります.以下は,‘diff -lc lao tzu’に対するヘッダのようなものです.

 
2002-02-22 14:20                 diff -lc lao tzu                 Page 1

[ << ] [ >> ]           [冒頭] [目次] [見出し] [ ? ]

この文書は新堂 安孝によって2009年9月22日texi2html 1.82を用いて生成されました。