はじめよう!日本語 OpenVMS
はじめよう!日本語 OpenVMS
  
第 10 章 ファイルを操作するためのコマンド
 
この章では
 
ここでは,ファイルを操作するためによく使用される DCL コマンドについて説明します。
 TYPE
 DIFFERENCES
 SEARCH
 RENAME
 COPY
 PURGE
 DELETE
 APPEND
 SORT
 
関連資料
 
- 『OpenVMS DCL ディレクトリ』
 - 『OpenVMS システム管理者マニュアル』
 - 『OpenVMS ユーザーズ・マニュアル』
 - 『日本語 OpenVMS 概説書』
  
  
 
ファイルの内容をそのままディスプレイに表示するには,TYPE コマンドを使用します。
 
 
 
 1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合は,ファイルの名前をコンマで区切ります。
 
 
 
    $ TYPE 1番目のファイル,2番目のファイル,...,n番目のファイル    
 |  
 
 ファイル・タイプは省略できます。省略した場合,.LIS を指定したものとみなされます。バージョン番号も省略でき,最新のバージョンを指定したものとみなされます。ファイル名,ファイル・タイプ,バージョン番号にはワイルドカード文字を指定できます。
 TYPE コマンドは,ファイルの内容を最初から最後まで停止せずに表示します。適当な箇所で表示を停止,再開,強制終了させたい場合は,次のキーを使用します。
 
 
 
| 停止
 | 
HoldScreen または
[Ctrl] +
[S]
 (または
[F1],
[Pause])
  | 
表示がその箇所で停止する。(
[Hold Screen] ランプが点灯する。)
 | 
 
|  
 | 
 
 | 
 
 | 
 
| 再開
 | 
HoldScreen または
[Ctrl] +
[Q]
 (または
[F1],
[Pause])
  | 
表示がその箇所から再開される。(
[Hold Screen] ランプが消灯する。)
 | 
 
|  
 | 
 
 | 
 
 | 
 
| 強制終了
 | 
[Ctrl] +
[Y]
 | 
表示がその箇所で終了する。再び $ プロンプトが表示される。
 | 
 
 
 表示するファイルに,複数のファイルまたはワイルドカード文字を指定したときの表示の順序は,次のようになります。
 
複数のファイルを指定した場合
 コマンドに指定した順番
 
ワイルドカード文字を指定した場合
 ファイル名の数字,アルファベット順にファイルを並べた順番
  
 1 画面ごとに停止させて表示するには,次のように入力します。
 
 
 
 表示が停止した場合は,次のようなキー操作を行います。
 
次の画面に進みたいとき
 
[Return] を入力する。
 
表示を強制終了したいとき
 
[Ctrl] + [Y] を入力する。
  
 DIFFERENCES コマンドを使用すると,2 つのファイルの内容を比較し,その相違箇所をディスプレイに表示またはファイルに出力して保存することができます。
 
 
 
    $ DIFFERENCES  第1ファイル  [第2ファイル]    
 |  
 
 第 2 ファイルの名前全体を省略することもできます。省略した場合,第 1 ファイルの 1 つ前のバージョンのファイルを指定したものとみなされます。
 DIFFERENCES コマンドには,次のような特徴があります。
 
◆比較する単位
 DIFFERENCES コマンドは,2 つのファイルの内容を行単位で比較します。つまり,文字列と文字列が一致するかをひとつひとつ表示するのではなく,行全体が一致するかどうかを表示します。
 
◆得られる結果
 DIFFERENCES コマンドを使用すると,次のことを知ることができます。
 
- 相違する行の内容
 - 相違する行の行番号
 - 相違する行の総数
  
  
 比較した結果をディスプレイに表示せずに,ファイルに出力するには,次のように入力します。出力ファイルは,結果を出力するファイルです。
 
 
 
    $ DIFFERENCES/OUTPUT=出力ファイル第1ファイル [第2ファイル]    
 |  
 
  
 FILE1.TXT の内容を表示します。
 
 
 
    $ TYPE FILE1.TXT 
 
    このファイルのファイル名は 
    FILE 1 です。 
 
    ★部門名簿 (TKO)★ 
    §東京本社 
 
    - 以上 - 
 |  
 
 FILE2.TXT の内容を表示します。
 
 
 
    $ TYPE FILE2.TXT 
 
    このファイルのファイル名は 
    FILE 2 です。 
 
    ★部門名簿 (OSK)★ 
    §大阪本社 
 
    - 以上 - 
 |  
 
 FILE1.TXT と FILE2.TXT を比較して,結果を SABUN.TXT に出力します。
 
 
 
    $ DIFFERENCES FILE1.TXT FILE2.TXT/OUT=SABUN.TXT 
 |  
 
 SABUN.TXT の内容を表示します。
 
 
 
    $ TYPE SABUN.TXT 
    ************ 
    File DKA0:[YAMADA.MEIBO]FILE1.TXT;1  
        2   FILE 1 です。 
        3 
        4   ★部門名簿 (TKO)★ 
        5   §東京本社 
        6 
    ****** 
    File DKA0:[YAMADA.MEIBO]FILE2.TXT;1 
        2   FILE 2 です。 
        3 
        4   ★部門名簿 (OSK)★ 
        5   §大阪本社 
        6 
    ************ 
 
    Number of difference sections found: 1 
    Number of difference records found: 4 
 
    DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=DKA0:[YAMADA.MEIBO]SABUN.TXT;1- 
        DKA0:[YAMADA.MEIBO]FILE1.TXT;1- 
        DKA0:[YAMADA.MEIBO]FILE2.TXT;1 
 |  
 
  
 比較した結果を,左右に分割して表示するには,次のように入力します。
 
 
 
    $ DIFFERENCES/PARALLEL 第1ファイル [第2ファイル] 
 |  
 
 
 
 
--------------------------------------------------------------------------- 
File DKA0:[YAMADA.MEIBO]FILE1.TXT;1  |  File DKA0:[YAMADA.MEIBO]FILE2.TXT;1 
----------------- 2 ------------------------------ 2 ---------------------- 
FILE 1 です。                        |  FILE 2 です。 
                                     |    
★部門名簿 (TKO)★                   |  ★部門名簿 (OSK)★   
§東京本社                           |  §大阪本社     
--------------------------------------------------------------------------- 
 
Number of difference sections found: 1 
Number of difference records found: 4 
 
DIFFERENCES /IGNORE=()/OUTPUT=DKA0:[YAMADA.MEIBO]SABUN-PARA.TXT;1/PARALLEL- 
    DKA0:[YAMADA.MEIBO]FILE1.TXT;1- 
    DKA0:[YAMADA.MEIBO]FILE2.TXT;1 
 
 |  
 
  
 指定したファイル内で指定した文字列を検索するには,SEARCH コマンドを使用します。SEARCH コマンドで検索する文字列には,任意の文字列を指定できます。また,/EXACT 修飾子を使用しないかぎり,英小文字と英大文字は区別しません。( 日本語文字列を DCL コマンド・ラインに入力する方法は, 
付録 B.3 節 を参照。)
 SEARCH コマンドを使用すると,指定した文字列が含まれる行の内容を知ることができます。また修飾子を追加することにより,指定した文字列が含まれる行の行番号や検索したファイルの数なども知ることができます。
 
 
 
    $ SEARCH 検索ファイル[,...]  "検索文字列[,...]" 
                 (1)                          (2)
 |  
 
 
- 検索ファイル 
 検索するファイルの名前。  1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合,ファイルの名前をコンマで区切ります。バージョン番号は省略でき,最新のバージョンを指定したものとみなされます。ファイル名,ファイル・タイプ,バージョン番号にはワイルドカード文字を指定できます。
 - 検索文字列 
 検索する文字列。 
 文字列の中に空白が含まれる場合や日本語の文字列の場合は,文字列を二重引用符 (") で囲みます。1 つまたは複数の文字列を指定できます。複数の文字列を指定する場合,文字列をコンマで区切ります。
  
 次の例では現在のディレクトリ内にあるファイル・タイプが TXT のファイルを対象に,文字列 tko が含まれる行を検索しています。
 
 
 
 検索結果は次のようになります。
 
 
 
    DKA0:[YAMADA.MEIBO]FILE1.TXT;1    
 
    ★部門名簿 (TKO)★ 
 |  
 
  
 検索した結果をディスプレイに表示せずに,ファイルに出力するには,次のように入力します。
 
 
 
    $ SEARCH/OUTPUT=出力ファイル検索ファイル検索文字列 
 |  
 
 出力ファイルは,結果を出力するファイルです。検索ファイルと検索文字列は複数指定できます。
  
 SEARCH コマンドは,ファイルを検索する場合に英小文字と英大文字を区別しないので,区別して検索したい場合は,次のように入力します。
 
 
 
    $ SEARCH/EXACT 検索ファイル検索文字列 
 |  
 
 検索ファイルと検索文字列は複数指定できます。
  
 検索した結果の統計情報を表示するには,次のように入力します。
 
 
 
    $ SEARCH/STATISTICS 検索ファイル検索文字列 
 |  
 
 検索ファイルと検索文字列は複数指定できます。
  
 検索文字列が含まれる行の行番号を表示するには,次のように入力します。
 
 
 
    $ SEARCH/NUMBERS 検索ファイル検索文字列 
 |  
 
 検索ファイルと検索文字列は複数指定できます。
  
 検索文字列を強調して表示する方法を変更するには,次のようにします。
 
検索文字列を点滅させる
 
 
 
    $ SEARCH/HIGHLIGHT=BLINK 検索ファイル検索文字列    
 |  
 
 
検索文字列にアンダーラインを引く
 
 
 
    $ SEARCH/HIGHLIGHT=UNDERLINE 検索ファイル検索文字列 
 |  
 
 検索ファイルと検索文字列は複数指定できます。
  
 ファイルの名前を変更するには,RENAME コマンドを使用します。ファイルの名前を変更する場合,ファイル名,ファイル・タイプ,バージョン番号をすべて変更することも,ファイル名,ファイル・タイプ,バージョン番号のいずれかだけを変更することもできます。
 
 
 
    $ RENAME 既存のファイル[,...] 新しいファイル 
                 (1)                   (2)
 |  
 
 
- 既存のファイル 
 名前を変更したいファイルの名前。  1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合,ファイルの名前をコンマで区切ります。
 - 新しいファイル 
 ファイルの新しい名前。 
 ファイル名,ファイル・タイプは省略できます。省略した場合,既存のファイルに指定したファイル名,ファイル・タイプを指定したとみなされます。 
 バージョン番号も省略できます。省略した場合,バージョン番号は自動的に付けられます。
  
 
 
   |   注意 
既存のファイルに複数のファイルを指定した場合,指定したすべてのファイルの名前が新しいファイルの名前に変更されるので注意してください。
また,新しいファイルの名前を指定するときに,ファイル名 ( またはファイル・タイプ ) を省略すると,既存ファイルのファイル名 ( またはファイル・タイプ ) を指定したとみなされます。したがって,指定した複数のファイルのそれぞれのファイル名 ( またはファイル・タイプ ) が新しいファイルに付けられます。  
 | 
 
 
 
  
ファイル名とファイル・タイプを指定した場合
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.TXT;1         TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 SAGYO.TXT を MONTH_SAGYO.TXT に変更します。
 
 
 
    $ RENAME SAGYO.TXT MONTH_SAGYO.TXT;1 
 |  
 
 確認します。
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         MONTH_SAGYO.TXT;1   TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 
新しいファイルのファイル・タイプを省略した場合
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.TXT;1         TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 SAGYO.TXT を MONTH_SAGYO.TXT に変更します。
 
 
 
    $ RENAME SAGYO.TXT MONTH_SAGYO 
 |  
 
 確認します。
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         MONTH_SAGYO.TXT;1   TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 新しいファイル・タイプが省略されたため,既存のファイル・タイプと同じファイル・タイプTXTが付けられています。
 
新しいファイルのファイル名を省略した場合
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.TXT;1         TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 SAGYO.TXT を SAGYO.LIS に変更します。
 
 
 
 確認します。
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.LIS;1         TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 新しいファイル名が省略されたため,既存のファイル名と同じファイル名が付けられています。
  
 RENAME コマンドを使用して,別のディレクトリにファイルを置くこともできます。
 
 
 
    $ RENAME 既存のファイル[,...] ディレクトリ 
                 (1)                   (2)
 |  
 
 
- 既存のファイル 
 ディレクトリを変更したいファイルの名前。 
 1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合,ファイルの名前をコンマで区切ります。ファイルの名前にワイルドカード文字も使用できます。
 - ディレクトリ 
 ファイルを置くディレクトリの名前。 
 ディレクトリと共にファイルの名前を指定できます。ファイルの名前を指定すると,その名前がファイルに付けられます。
  
  
1 つのファイルを指定した場合
 
 
  
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.TXT;1         TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 SAGYO.TXT を [YAMADA.REPORT.KOJIN] から [YAMADA.REPORT.GROUP] に移します。
 
 
 
    $ RENAME SAGYO.TXT [YAMADA.REPORT.GROUP]    
 |  
 
 確認します。
 
 
 
    $ DIRECTORY [YAMADA.REPORT.GROUP] 
 
    Directory DKA0:[YAMADA.REPORT.GROUP] 
 
    MONTH_KEIHI.TXT;1   MONTH_SAGYO_04.TXT;1 
    MONTH_SAGYO_05.TXT;1                    MONTH_SAGYO_06.TXT;1    
    MONTH_SAGYO_07.TXT;1                    MONTH_SAGYO_08.TXT;1 
    MONTH_SAGYO_09.TXT;1                    MONTH_SAGYO_10.TXT;1 
    MONTH_SAGYO_11.TXT;1                    MONTH_SAGYO_12.TXT;1 
    SAGYO.TXT;1 
 
    Total of 11 files. 
 |  
 
 
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         TRIP.TXT;1 
 
    Total of 2 files. 
 |  
 
 
複数のファイルを指定した場合
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.TXT;2         SAGYO.TXT;1         TRIP.TXT;1    
 
    Total of 4 files. 
 |  
 
 SAGYO.TXT のすべてのバージョンのファイルを [YAMADA.REPORT.KOJIN] から [YAMADA.REPORT.GROUP] に移します。
 
 
 
    $ RENAME SAGYO.TXT;* [YAMADA.REPORT.GROUP]    
 |  
 
 確認します。
 
 
 
    $ DIRECTORY [YAMADA.REPORT.GROUP] 
 
    Directory DKA0:[YAMADA.REPORT.GROUP] 
 
    MONTH_KEIHI.TXT;1   MONTH_SAGYO_04.TXT;1 
    MONTH_SAGYO_05.TXT;1                    MONTH_SAGYO_06.TXT;1    
    MONTH_SAGYO_07.TXT;1                    MONTH_SAGYO_08.TXT;1 
    MONTH_SAGYO_09.TXT;1                    MONTH_SAGYO_10.TXT;1 
    MONTH_SAGYO_11.TXT;1                    MONTH_SAGYO_12.TXT;1 
    SAGYO.TXT;2         SAGYO.TXT;1 
 
    Total of 12 files. 
 |  
 
 
新しいファイルの名前を指定した場合
 
 
 
    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.TXT;1         TRIP.TXT;1    
 
    Total of 3 files. 
 |  
 
 SAGYO.TXT を [YAMADA.REPORT.KOJIN] から [YAMADA.REPORT.GROUP] に移し名前をMONTH_SAGYO_01.TXT;1に変更します。
 
 
 
    $ RENAME SAGYO.TXT [YAMADA.REPORT.GROUP]MONTH_SAGYO_01.TXT;1    
 |  
 
 確認します。
 
 
 
    $ DIRECTORY [YAMADA.REPORT.GROUP] 
 
    Directory DKA0:[YAMADA.REPORT.GROUP] 
 
    MONTH_KEIHI.TXT;1   MONTH_SAGYO_01.TXT;1 
    MONTH_SAGYO_04.TXT;1                    MONTH_SAGYO_05.TXT;1    
    MONTH_SAGYO_06.TXT;1                    MONTH_SAGYO_07.TXT;1 
    MONTH_SAGYO_08.TXT;1                    MONTH_SAGYO_09.TXT;1 
    MONTH_SAGYO_10.TXT;1                    MONTH_SAGYO_11.TXT;1 
    MONTH_SAGYO_12.TXT;1 
 
    Total of 11 files. 
 |  
 
 
 
 
      |