はじめよう!日本語 OpenVMS


前へ 次へ 目次 索引


第 10 章
ファイルを操作するためのコマンド

この章では

ここでは,ファイルを操作するためによく使用される DCL コマンドについて説明します。

TYPE
DIFFERENCES
SEARCH
RENAME
COPY
PURGE
DELETE
APPEND
SORT

関連資料

10.1 ファイルの内容を表示する -- TYPE

ファイルの内容をそのままディスプレイに表示するには,TYPE コマンドを使用します。


    $ TYPE ファイル指定    

1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合は,ファイルの名前をコンマで区切ります。


    $ TYPE 1番目のファイル,2番目のファイル,...,n番目のファイル    

ファイル・タイプは省略できます。省略した場合,.LIS を指定したものとみなされます。バージョン番号も省略でき,最新のバージョンを指定したものとみなされます。ファイル名,ファイル・タイプ,バージョン番号にはワイルドカード文字を指定できます。

TYPE コマンドは,ファイルの内容を最初から最後まで停止せずに表示します。適当な箇所で表示を停止,再開,強制終了させたい場合は,次のキーを使用します。

表示 キー操作 結果
停止 HoldScreen または [Ctrl] + [S]

(または [F1][Pause]

表示がその箇所で停止する。([Hold Screen] ランプが点灯する。)
     
再開 HoldScreen または [Ctrl] + [Q]

(または [F1][Pause]

表示がその箇所から再開される。([Hold Screen] ランプが消灯する。)
     
強制終了 [Ctrl] + [Y] 表示がその箇所で終了する。再び $ プロンプトが表示される。


表示するファイルに,複数のファイルまたはワイルドカード文字を指定したときの表示の順序は,次のようになります。

複数のファイルを指定した場合

コマンドに指定した順番

ワイルドカード文字を指定した場合

ファイル名の数字,アルファベット順にファイルを並べた順番

10.2 ファイルの内容を 1 画面ごとに表示する -- TYPE/PAGE

1 画面ごとに停止させて表示するには,次のように入力します。


    $ TYPE/PAGE ファイル指定    

表示が停止した場合は,次のようなキー操作を行います。

次の画面に進みたいとき

[Return] を入力する。

表示を強制終了したいとき

[Ctrl] + [Y] を入力する。

10.3 ファイルの内容を比較する -- DIFFERENCES

DIFFERENCES コマンドを使用すると,2 つのファイルの内容を比較し,その相違箇所をディスプレイに表示またはファイルに出力して保存することができます。


    $ DIFFERENCES  第1ファイル  [第2ファイル]    

第 2 ファイルの名前全体を省略することもできます。省略した場合,第 1 ファイルの 1 つ前のバージョンのファイルを指定したものとみなされます。

DIFFERENCES コマンドには,次のような特徴があります。

◆比較する単位

DIFFERENCES コマンドは,2 つのファイルの内容を行単位で比較します。つまり,文字列と文字列が一致するかをひとつひとつ表示するのではなく,行全体が一致するかどうかを表示します。

◆得られる結果

DIFFERENCES コマンドを使用すると,次のことを知ることができます。

10.4 比較結果をファイルに出力する -- DIFFERENCES/OUTPUT

比較した結果をディスプレイに表示せずに,ファイルに出力するには,次のように入力します。出力ファイルは,結果を出力するファイルです。


    $ DIFFERENCES/OUTPUT=出力ファイル 第1ファイル [第2ファイル]    

10.5 ファイルの内容を比較する例




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 


10.6 比較結果の表示方法を変更する -- DIFFERENCES/PARALLEL




比較した結果を,左右に分割して表示するには,次のように入力します。


    $ 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 
 

10.7 ファイルの内容を検索する -- SEARCH

指定したファイル内で指定した文字列を検索するには,SEARCH コマンドを使用します。SEARCH コマンドで検索する文字列には,任意の文字列を指定できます。また,/EXACT 修飾子を使用しないかぎり,英小文字と英大文字は区別しません。(日本語文字列を DCL コマンド・ラインに入力する方法は,付録 B.3 節 を参照。)

SEARCH コマンドを使用すると,指定した文字列が含まれる行の内容を知ることができます。また修飾子を追加することにより,指定した文字列が含まれる行の行番号や検索したファイルの数なども知ることができます。


    $ SEARCH 検索ファイル[,...]  "検索文字列[,...]" 
                 (1)                    (2)

  1. 検索ファイル

    検索するファイルの名前。

    1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合,ファイルの名前をコンマで区切ります。バージョン番号は省略でき,最新のバージョンを指定したものとみなされます。ファイル名,ファイル・タイプ,バージョン番号にはワイルドカード文字を指定できます。

  2. 検索文字列

    検索する文字列。

    文字列の中に空白が含まれる場合や日本語の文字列の場合は,文字列を二重引用符(")で囲みます。1 つまたは複数の文字列を指定できます。複数の文字列を指定する場合,文字列をコンマで区切ります。




次の例では現在のディレクトリ内にあるファイル・タイプが TXT のファイルを対象に,文字列 tko が含まれる行を検索しています。


    $ SEARCH *.TXT tko    

検索結果は次のようになります。


    DKA0:[YAMADA.MEIBO]FILE1.TXT;1    
 
    ★部門名簿(TKO)★ 

10.8 検索結果をファイルに出力する -- SEARCH/OUTPUT

検索した結果をディスプレイに表示せずに,ファイルに出力するには,次のように入力します。


    $ SEARCH/OUTPUT=出力ファイル 検索ファイル 検索文字列    

出力ファイルは,結果を出力するファイルです。検索ファイルと検索文字列は複数指定できます。

10.9 完全に一致するものを検索する -- SEARCH/EXACT

SEARCH コマンドは,ファイルを検索する場合に英小文字と英大文字を区別しないので,区別して検索したい場合は,次のように入力します。


    $ SEARCH/EXACT 検索ファイル 検索文字列    

検索ファイルと検索文字列は複数指定できます。

10.10 検索結果の統計情報を表示する -- SEARCH/STATISTICS

検索した結果の統計情報を表示するには,次のように入力します。


    $ SEARCH/STATISTICS 検索ファイル 検索文字列    

検索ファイルと検索文字列は複数指定できます。

10.11 検索文字列の行番号を表示する -- SEARCH/NUMBERS

検索文字列が含まれる行の行番号を表示するには,次のように入力します。


    $ SEARCH/NUMBERS 検索ファイル 検索文字列    

検索ファイルと検索文字列は複数指定できます。

10.12 検索結果の表示方法を変更する -- SEARCH/HIGHLIGHT

検索文字列を強調して表示する方法を変更するには,次のようにします。

検索文字列を点滅させる


    $ SEARCH/HIGHLIGHT=BLINK 検索ファイル 検索文字列    

検索文字列にアンダーラインを引く


    $ SEARCH/HIGHLIGHT=UNDERLINE 検索ファイル 検索文字列    

検索ファイルと検索文字列は複数指定できます。

10.13 ファイルの名前を変更する -- RENAME

ファイルの名前を変更するには,RENAME コマンドを使用します。ファイルの名前を変更する場合,ファイル名,ファイル・タイプ,バージョン番号をすべて変更することも,ファイル名,ファイル・タイプ,バージョン番号のいずれかだけを変更することもできます。


    $ RENAME 既存のファイル[,...] 新しいファイル 
                 (1)                   (2)

  1. 既存のファイル

    名前を変更したいファイルの名前。

    1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合,ファイルの名前をコンマで区切ります。

  2. 新しいファイル

    ファイルの新しい名前。

    ファイル名,ファイル・タイプは省略できます。省略した場合,既存のファイルに指定したファイル名,ファイル・タイプを指定したとみなされます。

    バージョン番号も省略できます。省略した場合,バージョン番号は自動的に付けられます。

注意

既存のファイルに複数のファイルを指定した場合,指定したすべてのファイルの名前が新しいファイルの名前に変更されるので注意してください。

また,新しいファイルの名前を指定するときに,ファイル名(またはファイル・タイプ)を省略すると,既存ファイルのファイル名(またはファイル・タイプ)を指定したとみなされます。したがって,指定した複数のファイルのそれぞれのファイル名(またはファイル・タイプ)が新しいファイルに付けられます。

10.14 ファイルの名前を変更する例




ファイル名とファイル・タイプを指定した場合


    $ 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 に変更します。


    $ RENAME SAGYO.TXT .LIS 

確認します。


    $ DIRECTORY 
 
    Directory DKA0:[YAMADA.REPORT.KOJIN] 
 
    KEIHI.TXT;1         SAGYO.LIS;1         TRIP.TXT;1    
 
    Total of 3 files. 

新しいファイル名が省略されたため,既存のファイル名と同じファイル名が付けられています。

10.15 ファイルを移動する -- RENAME

RENAME コマンドを使用して,別のディレクトリにファイルを置くこともできます。


    $ RENAME 既存のファイル[,...] ディレクトリ 
                 (1)                   (2)

  1. 既存のファイル

    ディレクトリを変更したいファイルの名前。

    1 つまたは複数のファイルを指定できます。複数のファイルを指定する場合,ファイルの名前をコンマで区切ります。ファイルの名前にワイルドカード文字も使用できます。

  2. ディレクトリ

    ファイルを置くディレクトリの名前。

    ディレクトリと共にファイルの名前を指定できます。ファイルの名前を指定すると,その名前がファイルに付けられます。

10.16 ファイルを移動する例




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. 


前へ 次へ 目次 索引