[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

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

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

5.1 タブストップの位置合わせを保持する  Preserving the alignment of tab stops.
5.2 diff出力のページ分割  Page numbering and time-stamping diff output.


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

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

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

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


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on January, 21 2003 using texi2html