; hp; ヒューレット・パッカード;hewlett-packard; ヒューレット;コンパック;compaq; OS; OpenVMS;高い信頼性とスケーラビリティを提供するOS"> - OpenVMSのマニュアルページです。">
日本-日本語

 >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


HP OpenVMS
DCL ディクショナリ


前へ 次へ 目次 索引





DIFFERENCES

2 つのディスク・ファイルの内容を比較し,一致しないレコードのリストを表示します。



形式

DIFFERENCES 第1入力ファイル指定 [ 第2入力ファイル指定 ]




パラメータ



第 1 入力ファイル指定

比較する最初のファイルを指定します。ファイル指定には,ファイル名とファイル・タイプとが含まれなければなりません。ワイルドカード文字は使用できません。

第 2 入力ファイル指定

比較する 2 番目のファイルを指定します。各フィールドの省略時の値は,第 1 入力ファイル指定の対応するフィールドです。ワイルドカード文字は使用できません。

第 2 ファイルを指定しない場合には,DIFFERENCES コマンドは,第 1 ファイルの 1 つ前のバージョンを使用します。




説明

2 つのファイルが同じかどうか,また異なる場合どのように異なるかを判定するには,DIFFERENCES コマンドを使用します。 DIFFERENCES コマンドは,指定された 2 つのファイルをレコードごとに比較し,異なる場合は差をリストする出力ファイルを生成します。

DIFFERENCES コマンドの修飾子は,次のように機能別に分類できます。

  • DIFFERENCES コマンドにレコードごとのデータを無視するように要求する修飾子
    /COMMENT_DELIMITERS
    /IGNORE

    これらの修飾子を使用すると,コメントを表す文字を定義したり,ファイルを比較する場合に無視する文字または文字のクラスを指定したりすることができます。たとえば,DIFFERENCES コマンドに,余分な空白行や行の中の余分なスペースを無視させることができます。
    省略時の設定では,DIFFERENCES コマンドは,各レコード内のすべての文字を比較します。

  • 違いの一覧に含まれる情報の書式を制御する修飾子
    /CHANGE_BAR
    /IGNORE
    /MERGED
    /MODE
    /PARALLEL
    /SEPARATED
    /SLP
    /WIDTH

    省略時の設定では,比較するファイルに存在する違いがマージされます。 2 つのファイルの一致しない各レコードがリストされてから,一致する次のレコードがリストされます。
    省略時の設定では,リストされるレコードごとに行番号が示され,無視するように指定されたすべての文字を除去したレコードがリストされます。
    修飾子を組み合せて指定すると,複数の書式で比較をリストする出力を要求できます。SLP 出力は,他のすべての出力の種類とは互換性がないことに注意してください。パラレル出力を生成できるのは,ASCII モードだけです。

  • 比較の範囲を制御する修飾子
    /MATCH
    /MAXIMUM_DIFFERENCES
    /WINDOW

    省略時の設定では,マスター入力ファイル内のすべてのレコードが読み込まれ,更新入力ファイル内の一致するレコードが探されます。 2 つの入力ファイルの一致の検出は,一致が見つかるか,2 つのファイルの最後に到達するまで続きます。2 つのファイルのセクションが一致すると見なされるのは,各ファイルの連続した 3 つのレコードが同じと判定される場合だけです。

省略時の設定では,DIFFERENCES コマンドの出力は,現在の SYS$OUTPUT 装置に書き出されます。出力を別のファイルまたは装置に書き出すには, /OUTPUT 修飾子を使用します。

DIFFERENCES コマンドは,終了状態で終了します。比較の結果は,次の重大度で示されます。

SUCCESS ファイルは同じです。
INFORMATIONAL ファイルは異なります。
WARNING DIFFERENCESの利用者指定最大数を超えました。
ERROR 仮想メモリの不足のため,比較を完了できません。

SUCCESS 以外のすべての重大度は,2つの入力ファイルが異なることを表します。




修飾子



/CHANGE_BAR[=([変更バー文字][,[NO]NUMBER])]

指定された文字を使用して違いをマークします。/CHANGE_BAR 修飾子が表示する出力は,/CHANGE_BAR 修飾子を指定した位置により異なります。以下の例では,/CHANGE_BAR 修飾子の位置による結果について説明します。

次の例では,最新バージョンの input.file を、前のバージョンと異なる行の先頭にシャープ記号 (#) を付けて表示します。


$ DIFFERENCES input.file/CHANGE_BAR=#

次の例では,input.file;2 を, input.file;1 と異なる行の先頭にシャープ記号 (#) を付けて表示します。


$ DIFFERENCES input.file;1  input.file;2 /CHANGE_BAR=#

次の例では,input.file;1 を, input.file;2 と異なる行の先頭にシャープ記号 (#) を付けて表示します。


$ DIFFERENCES input.file;1/CHANGE_BAR=#  input.file;2

次の例では,input.file;1 を, input.file;2 と異なる行の先頭にパーセント記号 (%) を付けて表示し,input.file;1 を,input.file;2 と異なる行の先頭にシャープ記号 (#) を付けて表示します。


$ DIFFERENCES input.file;1/CHANGE_BAR=% input.file;2/CHANGE_BAR=#

  • 変更バー文字を指定しないと,ASCII 出力モードでは,省略時の設定の変更バー文字は感嘆符 (!) です。

  • 16 進出力モードおよび8進出力モード ( 詳細は /MODE 修飾子を参照)では,変更バー文字は無視されます。そのかわりにレコードの見出しに「 ***CHANGE*** 」という文字列が表示されます。キーワード NONUMBER を指定すると,リストに行番号は表示されません。

  • NUMBER または NONUMBER の指定により,変更バー・リストに行番号を付けるかどうかを制御できます。どちらも指定しない場合には,省略時の値は/[NO]NUMBER コマンド修飾子により決まります。

  • オプションを 1 つだけ指定する場合,括弧は省略できます。

  • 変更バー文字として感嘆符 (!) を指定する場合には, /CHANGE_BAR=("!",NUMBER) のように,引用符で囲む必要があります。



/COMMENT_DELIMITER[=(区切り文字[,...])]

1 行のうち,指定のコメント区切り文字以降の文字を無視します。

1 文字だけ指定する場合は,括弧は省略できます。引用符で囲んでいない小文字は,自動的に大文字に変換されます。英数字以外の文字 ( たとえば ! や,) は,引用符で囲まなければなりません。複数文字のコメント文字は使用できません。文字自体,または次に示すキーワードのいずれか 1 つをタイプすることにより,最大 32 のコメント文字を指定できます。一意に認識できれば,キーワードは 2 文字までに短縮できます (1 文字だと,区切り文字であると認識されます )。

キーワード 文字
COLON コロン (:)
COMMA コンマ (,)
EXCLAMATION 感嘆符 (!)
FORM_FEED フォーム・フィード
LEFT 左かぎかっこ ([)
RIGHT 右かぎかっこ (])
SEMI_COLON セミコロン (;)
SLASH スラッシュ (/)
SPACE スペース
TAB 水平タブ

/COMMENT_DELIMITER 修飾子を指定すると,/IGNORE=COMMENTS 修飾子も暗黙に含まれます。

ある文字の大文字と小文字のどちらも区切り文字として使用する場合には,その文字を 2 回指定し,1 回は大文字で,もう 1 回は小文字で指定します。 /COMMENT_DELIMITER 修飾子にコメント文字もキーワードも指定しないと, DIFFERENCES コマンドはファイル・タイプにより省略時の設定のコメント文字を想定します。あるファイル・タイプ (.COB および .FOR) では,行の 1 桁目にある場合のみ,省略時の設定のコメント文字は有効な区切り文字とみなされます。

ファイル・タイプと,省略時の設定のコメント文字を次の表に示します。

ファイル・タイプ 省略時の設定のコメント文字
.B2S, .B32, .BAS, .BLI !
.CBL, .CMD ! および ;
.COB 1 桁目の * または /
.COM, .COR !
.FOR 任意の位置の !,および 1 桁目の C,D,c,d
.HLP !
.MAC, .MAR ;
.R32, .REQ !



/EXACT

/PAGE=SAVE および /SEARCH 修飾子とともに使用し,正確に一致する文字列検索を指定します。この場合,検索文字列は二重引用符 ("") で囲まなければなりません。

/SEARCH 修飾子を指定せずに /EXACT 修飾子を指定した場合は, Find(E1) キーを押すと厳密一致検索が有効になります。

/HIGHLIGHT[=キーワード]

/PAGE=SAVE および /SEARCH 修飾子とともに指定し,一致した検索文字列の強調表示方法を指定します。一致した検索文字列があった場合は,行全体が強調されます。キーワードには BOLD,BLINK,REVERSE,および UNDERLINE を指定できます。省略時の設定は BOLD です。

/IGNORE=(オプション[,...])

比較するときに,指定した文字,文字列,またはレコードを無視することを指定します。/IGNORE 修飾子は,比較レコードが入力ファイルに記憶されている形と同じようにリスト・ファイルに出力されるのか,指定した文字を無視して編集されたレコードとして出力されるのかも制御します。キーワードを 1 つだけ指定する場合は,括弧は省略できます。キーワード・パラメータは,文字またはキーワードを参照します。最初のキーワードは,(無視する文字があれば) 比較の際に無視する文字を決め,2 番目のキーワードは無視した文字を出力に含めるかどうかを決めます。/IGNORE 修飾子のオプションとして指定できるキーワードを次に示します。

キーワード 無視される項目
BLANK_LINES データ行に挟まれたブランク行
CASE 比較されるテキストの大文字小文字
COMMENTS コメント区切り文字の後に続くデータ( /COMMENT_DELIMITER 修飾子を使用して,1 つまたは複数のコメント区切り文字を指定します)。
FORM_FEEDS フォーム・フィード文字
HEADER[=n] ファイルの中の,レコードの先頭文字がフォーム・フィードであるレコード以降の n レコードを,ヘッダ・レコードとして定義します。最初のレコードにフォーム・フィードしか含まれていない場合は,最初のレコードは無視されません。 n はヘッダ・サイズを表し,省略時の値は 2 です。フォーム・フィード 1 つだけからなるレコードは n にカウントされません。
SPACING データ行の内部に含まれる複数のスペース,またはタブ。
TRAILING_SPACES データ行の最後のスペース文字およびタブ文字
WHITE_SPACE すべてのスペースまたはタブ文字。
キーワード 出力で無視される項目の状態
EDITED 無視された文字は出力レコードには含まれない。
EXACT 無視された文字も出力レコードに含まれる。
PRETTY 出力レコードが書式化される。

各データ行に対して,まず COMMENTS,FORM_FEEDS,HEADER,および SPACING がチェックされ,その後 TRAILING_SPACES と BLANK_LINES がチェックされます。したがって,COMMENTS,TRAILING_SPACES,および BLANK_LINES を無視するように指示すると,コメントの前にスペースがいくつか含まれるレコードやコメントだけからなる行は無視されます。

省略時の設定では,DIFFERENCES コマンドは,各ファイルのすべての文字を比較し,すべての相違点を報告します。また,無視された文字をすべて削除した状態で,出力ファイルにレコードを出力します。

/PARALLEL 修飾子を指定した場合は,出力の書式化が常に実行されます。次の表は,変換される文字に対応する出力を示しています。

文字 書式化された出力
タブ (Ctrl/I) 1 個から 8 個のスペース
Return (Ctrl/M) <CR>
ライン・フィード (Ctrl/J) <LF>
垂直タブ (Ctrl/K) <VT>
フォーム・フィード (Ctrl/L) <FF>
他の非印字文字 . (ピリオド)



/MATCH=サイズ

相違点が検出されてからデータが一致していると判断されるまでに要するレコードの数を指定します。省略時の設定では,DIFFERENCES は一致しないレコードを検出したあと,一致するレコードを 3 つ連続して検出してはじめて,そのファイルが再び一致したと判断します。この省略時の一致サイズ 3 を変更するには /MATCH 修飾子を使用します。

相違点の検出後の入力ファイル間のセクションの対応づけが正しくないと感じられる場合には,/MATCH の値を大きくします。

/MAXIMUM_DIFFERENCES=n

一致しないレコードが指定された数だけ検出されると, DIFFERENCES が終了することを指定します。

一致しないレコードの数は,セクションごとに相違するレコードの最大数を求め,それらを加算することによって判断されます。

DIFFERENCES は,指定した一致しないレコードの最大数に到達すると,その最大数に到達する前に検出したレコードだけを出力します。また 1 つのリスト形式だけを出力し,警告メッセージを表示します。

省略時の設定では,一致しないレコードの最大数は設定されていません ( 指定された入力ファイルに含まれるすべてのレコードが比較されます )。

/MERGED[=n]

相違点のリストの出力において,一致しないレコード群のあとに指定の数の一致するレコードをマージするよう指定します。パラメータ n の値は,/MATCH 修飾子で指定した数以下でなければなりません。省略時の設定では,一致しないレコードの各集合のあとに,一致するレコードが,1 つマージされたリストが作成されます ( つまり,/MEGED=1 )。 /MERGED,/SEPAREATED,/PARALLEL のいずれの修飾子も指定されなければ,出力結果には,一致しないレコードの後に一致するレコードが 1 つマージされます。

省略時の n の値を変更する場合や,他のタイプの出力にマージされたリストを含める場合には,/MERGED 修飾子を使用します。

/MODE=(基数[,...])

出力の書式を指定します。ASCII ( 省略時の設定 ), HEXADECIMAL,または OCTAL のキーワードを指定することにより, 1 つまたは複数の基数モードによる出力を要求することができます。キーワードは短縮しても構いません。キーワードを 1 つだけ指定する場合には,括弧は省略できます。

省略時の設定では,DIFFERENCES は出力を ASCII モードで作成します。複数の基数を指定すると,出力リストには,それぞれの基数モードによるファイルの比較結果が含まれます。複数の基数モードを指定する場合にはそれらをコンマで区切ります。

/PARALLEL 修飾子または /SLP 修飾子を指定すると /MODE 修飾子は無視されます。

/NUMBER (省略時の設定)



/NONUMBER

出力リストに行番号を含めるかどうかを制御します。

/OUTPUT[=ファイル指定]

相違点のリストが書き込まれる出力ファイルを指定します。省略時の設定では,出力は現在の SYS$OUTPUT 装置に書き込まれます。ファイル指定パラメータを指定しない場合には,第 1 入力ファイル指定のファイルタイプを .DIF に変えたものを出力ファイルとします。ファイル指定にワイルドカード文字は使用できません。

/OUTPUT 修飾子を指定する場合には,『OpenVMS ユーザーズ・マニュアル』に説明されているように,出力ファイル指定に適用される省略時の値を制御することができます。出力ファイルの省略時のファイル・タイプは .DIF です。

/PAGE[=キーワード]



/NOPAGE (省略時の設定)

画面上の差分情報の表示を制御します。

/PAGE 修飾子には次のキーワードが指定できます。

CLEAR_SCREEN ページ・モードで表示(毎回画面を消去する)
SCROLL スクロール・モードで表示(毎回画面を消去しない)
SAVE[= n] n ページ分の履歴を保持する(前ページに戻ること等が可能)

/PAGE=SAVE 修飾子を使用すると,最大 5 画面 (最大 255 カラムまで) 分の履歴を保存できます。ページャ内では,次のキーを使って画面の移動などができます。

キー・シーケンス 意味
Up arrow key, Ctrl/B 1 行スクロール・アップ
Down arrow key 1 行スクロール・ダウン
Left arrow key 1 カラム左シフト
Right arrow key 1 カラム右シフト
Find (E1) 文字列検索を起動
Insert Here (E2) 半画面右シフト
Remove (E3) 半画面左シフト
Select (E4) 80/132 カラム切り替え
Prev Screen (E5) 前ページに移動
Next Screen (E6), Return, Enter, Space 次ページに移動
F10, Ctrl/Z 終了(ユーティリティによっては異なることがあります)。
Help (F15) ヘルプ・テキストを表示
Do (F16) 最新(現在)の画面と(履歴内で)最古画面の切り替え
Ctrl/W 再表示

/PAGE 修飾子は /OUTPUT 修飾子と同時には指定できません。

/PARALLEL[=n]

相違点のあるレコードを横に並べてリストします。パラメータ n の値は,一致しないレコードのあとに出力すべき一致するレコードの数を指定します。この値は,0 以上,かつ /MATCH 修飾子で指定された数以下の 10 進数でなければなりません。

省略時の設定では,一致しないレコードのあとにはレコードはリストされません。マージされた相違点だけがリストされます。

/SEARCH="文字列"

/PAGE=SAVE 修飾子とともに指定して,表示される情報内で検索したい文字列を指定します。スペース文字等を含む場合は,検索文字列は引用符で囲まなければなりません。

情報が表示されている時に Find(E1) キーを押すと,検索文字列を動的に変更することができます。この場合は,引用符は必要ありません。

/SEPARATED[=MASTER,REVISION]

相違点を含むレコードを,指定された一方のファイルだけから順番にリストします。第 1 入力ファイルから相違点をリストするには,キーワード MASTER を指定します。相違点を第 2 入力ファイルからリストするには,キーワード REVISION を指定します。

省略時の設定では,DIFFERENCES は,相違点のマージされたリストだけを作成します。

/SLP

DIFFERENCES が,SLP エディタへの入力に適した出力ファイルを作成することを指定します。/SLP 修飾子を指定する場合には,/MERGED 修飾子,/PARALLEL 修飾子, /SEPARATED 修飾子および /CHANGE_BAR 修飾子という出力ファイル修飾子は指定できません。


前へ 次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項