| 前へ | 次へ | 目次 | 索引 |
$ DIFFERENCES input.file;1/CHANGE_BAR=% input.file;2/CHANGE_BAR=# |
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 | ! and ; |
| .COB | 1 桁目の * または / |
| .COM, .COR | ! |
| .FOR | 任意の位置の ! ,および 1 桁目の C, D, c, d |
| .HLP | ! |
| .MAC, .MAR | ; |
| .R32, .REQ | ! |
/SEARCH 修飾子を指定せずに /EXACT 修飾子を指定した場合は, Find(E1) キーを押すと文字列検索が有効になります。
| キーワード | 無視される項目 |
|---|---|
| BLANK_LINES | データ間のブランク行 |
| CASE | 比較されるテキストの大文字小文字 |
| COMMENTS | コメント区切り文字の後に続くデータ( /COMMENT_DELIMITER 修飾子を使用して,1 つまたは複数のコメント区切り文字を指定します)。 |
| FORM_FEEDS | フォーム・フィード文字 |
| HEADER[=n] | 最初の文字がフォーム・フィードであるレコードから順に,最初の n レコード ( そのレコードに含まれる文字がフォーム・フィードだけの場合には,最初のレコードは無視されません )。 n の省略時の値は 2 です。 |
| SPACING | データ行の内部に含まれる複数のスペース,またはタブ ( 連続するスペースまたはタブは 1 つのスペースに変更されます )。 |
| TRAILING_SPACES | データ行の最後のスペース文字およびタブ文字 |
| キーワード | 出力で無視される項目の状態 |
| EDITED | 無視された文字が,削除された状態で出力レコードが作成される。 |
| EXACT | 入力ファイルと正確に同じ状態で出力レコードが作成される。 |
| PRETTY | 出力レコードは,形式化される。 |
各データ行に対して,まず COMMENTS,FORM_FEEDS,HEADER,および SPACING がチェックされ,そのあと TRAILING_SPACES と BLANK_LINES がチェックされます。したがって,COMMENTS,TRAILING_SPACES,および BLANK_LINES を無視することを DIFFERENCES に指示すると,コメントのあとに続くいくつかのスペース,またはブランク行のレコードは,完全に無視されます。
省略時の設定では,DIFFERENCES コマンドは,各ファイルのすべての文字を比較し,すべての相違点を報告します。また,無視された文字をすべて削除した状態で,出力ファイルにレコードを出力します。
/PARALLEL 修飾子を指定した場合は,出力の形式化が常に実行されます。次の表は,変換される文字に対応する出力を示しています。
| 文字 | 形式化された出力 |
|---|---|
| タブ (Ctrl/I) | 1 個から 8 個のスペース |
| Return (Ctrl/M) | <CR> |
| ライン・フィード (Ctrl/J) | <LF> |
| 垂直タブ (Ctrl/K) | <VT> |
| フォーム・フィード (Ctrl/L) | <FF> |
| 他のプリントされない文字 | . (period) |
DIFFERENCES が相違点を検出したあとで,誤った位置を「一致している」と解釈している場合は,/MATCH の値を大きくします。
一致しないレコード総数は,異なる各セクションごとに異なるレコードの最大数を求め,それを加算することによって判断できます。
DIFFERENCES は,指定した一致しないレコードの最大数に到達すると,その最大数に到達する前に検出したレコードだけを出力します。また 1 つのリスト形式だけを出力し,警告メッセージを表示します。
省略時の設定では,一致しないレコードの最大数は設定されていません ( 指定された入力ファイルに含まれるすべてのレコードが比較されます )。
省略時の n の値を変更する場合や,他のタイプの出力と相違点についての 2 つのレコードが記録されたリストを作成する場合には,/MERGED 修飾子を使用します。
省略時の設定では,DIFFERENCES は出力を ASCII モードで作成します。複数の基数モードを指定する場合には,出力リストには,指定した各基数で,ファイルの比較が示されます。複数の基数モードを指定する場合には,各モードをコンマで区切らなければなりません。
/PARALLEL 修飾子,または /SLP 修飾子を指定すると,それらの形式に対して, /MODE 修飾子は無視されます。
/OUTPUT を指定すると,『OpenVMS ユーザーズ・マニュアル』に説明されているような,出力ファイル指定に対して適用される,省略時の値を使用できます。省略時の出力ファイル・タイプは DIF です。
次のキーワードを指定できます。
| 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 修飾子と同時に指定できません。
省略時の設定では,DIFFERENCES コマンドは,一致しないレコードの各リストのあとに,一致したレコードを加えたリストを作成しません。また DIFFERENCES は,マージされた相違点のリストだけを作成します。
情報が表示されている時に Find(E1) キーを押すと,検索文字列を動的に変更することができます。この場合は,引用符は必要ありません。
省略時の設定では,DIFFERENCES は,相違点のマージされたリストだけを作成します。
SLP 修飾子によって作成される出力ファイルは,第 1 入力ファイルを更新するために,SLP への入力として使用できます ( 第 1 入力ファイルを第 2 入力ファイルと一致するように変更できます )。
/SLP だけを指定し,/OUTPUT 修飾子を指定しない場合には,DIFFERENCES は,第 1 入力ファイルと同じファイル名でファイル・タイプが DIF であるファイルに,出力ファイルを書き込みます。
ターミナルの 1 行の幅を変更するには,SET TERMINAL コマンドを使用します。
ウインドゥ・サイズは,相違セクションの最小サイズであり,これは DIFFERENCES コマンドが 2 つの入力ファイル間の同期を失う原因となります。
/NOWRAP 修飾子を指定した場合は,はみだした部分は左右にスクロールしながら見ることができます。
| #1 |
|---|
$ DIFFERENCES EXAMPLE.TXT
************
File DISK1:[CHRIS.TEXT]EXAMPLE.TXT;2
1 DEMONSTRATION
2 OF V7.3 DIFFERENCES
3 UTILITY
******
File DISK1:[CHRIS.TEXT]EXAMPLE.TXT;1
1 DEMONSTRETION
2 OF VMS DIFFERENCES
3 UTILITY
************
Number of difference sections found: 1
Number of difference records found: 2
DIFFERENCES/ IGNORE=()/MERGED=1-
DISK1:[CHRIS.TEXT]EXAMPLE.TXT;2-
DISK1:[CHRIS.TEXT]EXAMPLE.TXT;1
|
この DIFFERENCES コマンドは,現在の省略時のディレクトリの EXAMPLE.TXT というファイルの, 2 つの最新バージョンの内容を比較します。 DIFFERENCES は,各レコードのすべての文字を比較し,その結果をターミナルに表示します。
| #2 |
|---|
$ DIFFERENCES/PARALLEL/WIDTH=80/COMMENT_DELIMITER="V" EXAMPLE.TXT
-------------------------------------------------------------------------------
File DISK1:[CHRIS.TEXT]EXAMPLE.TXT;2 | File DISK1:[CHRIS.TEXT]EXAMPLE.TXT;1
------------------- 1 ------------------------------------- 1 -----------------
DEMONSTRATION | DEMONSTRETION
-------------------------------------------------------------------------------
Number of difference sections found: 1
Number of difference records found: 1
DIFFERENCES/IGNORE=(COMMENTS)/COMMENT_DELIMITER=("V")/WIDTH=80/PARALLEL-
DISK1:[CHRIS.TEXT]EXAMPLE.TXT;2-
DISK1:[CHRIS.TEXT]EXAMPLE.TXT;1
|
上記の例と同様にファイルを比較します。ただし,行の最初に "V" のつくすべての文字列は無視されます。また,違いのパラレル・リストを 80 桁で表示します。
| #3 |
|---|
$ DIFFERENCES/WIDTH=80/MODE=(HEX,ASCII) EXAMPLE.TXT/CHANGE_BAR
************
File DISK1:[CHRIS.TEXT]EXAMPLE.TXT;2
1 ! DEMONSTRATION
2 ! OF V7.3 DIFFERENCES
3 UTILITY
************
************
File DISK1:[CHRIS.TEXT]EXAMPLE.TXT;2
RECORD NUMBER 1 (00000001) LENGTH 14 (0000000E) ***CHANGE***
204E 4F495441 5254534E 4F4D4544 DEMONSTRATION .. 000000
RECORD NUMBER 2 (00000002) LENGTH 19 (00000013) ***CHANGE***
4E455245 46464944 20302E33 5620464F OF V7.3 DIFFEREN 000000
534543 CES............. 000010
RECORD NUMBER 3 (00000003) LENGTH 7 (00000007)
595449 4C495455 UTILITY......... 000000
************
Number of difference sections found: 1
Number of difference records found: 2
DIFFERENCES /WIDTH=80/MODE=(HEX,ASCII)
DISK1:[CHRIS.TEXT]EXAMPLE.TXT;2/CHANGE_BAR-
DISK1:[CHRIS.TEXT]EXAMPLE.TXT;1
|
例 1 と同様にファイルを比較します。ただし,違いを 16 進形式と ASCII 形式でリストします。また,省略時の設定の変更バーを出力で使用するよう指定しています。 16 進形式での省略時の設定の変更バーは,***CHANGE*** です。 ASCII 形式での省略時の設定の変更バーは,感嘆符です。
| #4 |
|---|
$ DIFFERENCES/OUTPUT BOSTON::DISK2:TEST.DAT OMAHA::DISK1:[PGM]TEST.DAT |
この DIFFERENCES コマンドは,リモート・ノードにある 2 つのファイルを比較し違いを表示します。第 1 ファイルは,リモート・ノード BOSTON にある TEST.DAT です。第 2 ファイルは,リモート・ノード OMAHA にある TEST.DAT です。出力ファイルは DISK1:[PGM]TEST.DIF です。
| 前へ | 次へ | 目次 | 索引 |