CHANGE 基本コマンド

File Manager/Db2 エディター・セッションでは、CHANGE コマンドは、編集中のデータから 1 回以上現れる文字ストリングまたは数値を探し出して置き換えるために使用します。
注:
(行制限または WHERE 文節のいずれかを指定することによって) FM/Db2 エディターにロードされる行数を制限している場合、CHANGE コマンドは、FM/Db2 エディター・セッション内のデータのみに適用されます。

ストリングを検出するだけで変更しない場合には、FIND 基本コマンドを使用します。

特定の行にズームインしていると、CHANGE コマンドはその行にのみ作用します。

CHANGE コマンドでデータが変更されると、FM/Db2 は変更されたストリングまたは数値データ・タイプ列の最後 (下方向スキャン中) または先頭 (上方向スキャン中) にカーソルを置きます。必要な場合には、FM/Db2 ストリングを表示するためにスクロールします。変更されたデータが除外行の中にある場合には、その除外行が表示されます。

構文


1 Change
1 CX
1 CHG(1)
string details

1 *
1 from_string
1 *
1 to_string
1! NEXT
1 ALL
1 PREV
1 LAST
1 FIRST
1! CHARs
1 PREfix
1 SUFfix
1 WORD
1 X
1 EX
1 NX
column list or range

1 ! #ALL
2.1 (+ , col_num)
1 (+ , col_num_1 - col_num_2)
注:
  • 1 パラメーターは、任意の順序で指定できます。
* (アスタリスク)
検索ストリングの代わりに使用された場合、検索ストリングとして、直前の CHANGE コマンドで指定された検索ストリングを使用します。

置き換えストリングの代わりに使用された場合、置き換えストリングとして、直前の CHANGE コマンドで指定された置き換えストリングを使用します。

CHANGE の場合、* の位置が重要になります。ストリングの前にある場合は、直前の検索引数を示します。つまり、最初のストリングとして扱われます。* の前にストリングがある場合は、2 番目のストリング (変更引数) として扱われ、直前の CHANGE コマンドの変更引数を使用します。直前の検索ストリングと直前の変更ストリングの両方を使用するには、CHANGE * * と指定します。

from_string
検索するストリング。このストリングの最大文字長は 100 文字で、以下のものを入れることができます。
  • 引用符で開始または終了せず、ブランクまたはコンマを含まない文字ストリング。ストリングの大/小文字は無視されます。同一文字の英大文字表記と小文字表記は一致します。例えば、次のコマンドは、ストリング「black」」、「Black」、および「BLACK」を変更します。
    CHANGE black white
  • 一重引用符で囲まれた文字ストリング。このストリングには、ブランクとコンマを入れることができます。ストリングの大/小文字は無視されます。例えば、'Exact string''exact string' と一致します。
  • 「C」と、その後に引用符で囲まれた文字ストリング (C'Frog')、または、引用符で囲まれた文字ストリングと、その後に「C」('Frog'C)。このストリングには、ブランクとコンマを入れることができます。ストリングは (大文字/小文字も含めて) 完全に一致しなければなりません。例えば、C'Exact string'C'exact string' と一致しません。
  • P が前または後に付いている単一引用符または二重引用符で囲まれた、文字そのものではなく検索対象のストリングのタイプを表すピクチャー・ストリング。それ自体を表すブランク、英字、および数字、あるいは、それぞれ文字のクラスを表す下記の任意の特殊文字を含めることができます。
    =
    任意の文字。
    @
    英字。
    #
    数字。
    $
    特殊文字。
    & notsym;
    非ブランク文字。
    .
    無効文字。
    -
    非数値文字。
    <
    小文字英字。
    >
    大文字英字。
  • 「X」と、一重引用符で囲まれた 16 進ストリング (X'C1C2')。
  • 文字そのものではなくストリングのパターンとして指定するには、正規表現ストリングの前または後に R を追加し、単一引用符または二重引用符で囲みます。このストリングは、C ランタイム・ライブラリーでサポートされいる、C ランタイム・ライブラリーの regcomp 関数で許可されている形式に準拠している必要があり、かつ C ランタイム・ライブラリーが使用可能である必要があります。大/小文字を区別した検索を行うには、RC を使用します。
    正規表現の例は次のとおりです。
    列 1 ~ 10 内の「cat」または「hat」
    r'[ch]at' 1 10
    「payer」または「payee」
    r'pay(er!ee)'
    「band」または「bald」、ただし「bad」を除く
    'ba.d'r
    「feed」または「weed」、ただし「fed」または「wed」を除く
    r'[fw]e{2}d'
    「The」または「She」、ただし「the」または「she」を除く
    rc'[TS]he'
    この SETLOCALE 関数は、regcomp 関数が正規表現をコンパイルする際に使用するロケールを定義するために使用されます。SETLOCALE 関数に使用されるロケールは、端末 CCSID に基づいています。ロケールは、次の端末 CCSID でサポートされています。
        00037   00871   01123   01156                                     
        00273   00875   01140   01157                                     
        00277   00924   01141   01158                                     
        00278   00930   01142   01160                                     
        00280   00933   01143   01165                                     
        00284   00935   01144   01364                                     
        00285   00937   01145   01371                                     
        00290   00939   01146   01388                                     
        00297   01025   01147   01390                                     
        00424   01026   01148   01399                                     
        00425   01027   01149   04971                                     
        00500   01047   01153   05123                                     
        00838   01112   01154   08482                                     
        00870   01122   01155   12712 
    
    別の CCSID を持つ端末を使用している場合、正規表現をコンパイルするときにデフォルトの C ロケールが使用されます。
  • 数値 (列番号を指定して検索を制限しているとき、および検索中の列が数値列であるときのみ)。
to_string
from_string と置き換えたいストリング。このストリングの最大文字長は 100 文字で、以下のものを入れることができます。
  • 引用符で開始または終了せず、ブランクまたはコンマを含まない文字ストリング。CAPS ON または CASE UPPER が有効になっている場合には、to_string は大文字に変換されます。
  • 一重引用符で囲まれた文字ストリング。このストリングには、ブランクとコンマを入れることができます。CAPS ON または CASE UPPER が有効になっている場合には、to_string は大文字に変換されます。ストリングはヌル・ストリング ('') であっても構いません。
  • 「C」と、その後に引用符で囲まれた文字ストリング (C'Frog')、または、引用符で囲まれた文字ストリングと、その後に「C」('Frog'C)。このストリングには、ブランクとコンマを入れることができます。大/小文字の区別は考慮され、保持されます。ストリングはヌル・ストリング (C'') であっても構いません。
  • P が前または後に付いている単一引用符または二重引用符で囲まれた、実行する変更内容を表すピクチャー・ストリング。大文字から小文字に、または小文字から大文字に文字を変更するか、あるいは下記のストリングの特殊文字を使用してフィールドをそのままにしておくことができます。
    =
    任意の文字。
    <
    小文字英字。
    >
    大文字英字。

    CHANGE コマンドで使用されるピクチャー・ストリングの例:

    c p'<' p'>' #3
    列 3 を大文字にします。
    c p'>' '¬' #2
    大文字は「not 記号」列 2 に変更します (注: 「not 記号」には「to」ストリングの特殊な意味がありません)。
    c p'<#' p'>=' #1
    列 1 のすべての小文字とその直後の数字を、大文字と検出された数字に変更します。

    この表記が使用される場合、数字、ビット、およびユニコードのフィールド (SNGL および TABL 表示形式) は、検索処理から除外されます。

    .
  • 「X」と、一重引用符で囲まれた 16 進ストリング (X'C1C2')。大/小文字が区別されて保持されます (16 進値は指定されたとおりに正確に使用されます)。
  • 数値。
NEXT
これはデフォルト設定です。カーソル位置 (カーソルがデータ表示部分にある場合) または表示されている最初の行の先頭から検索を開始して、次に現れるストリングを見つけるために前方へ検索していきます。ストリングの次のオカレンスが除外レコード内にあり、検索を非除外レコードに制限しない場合は、このストリングを含む最初の除外レコードのみが表示されます。
ALL
データの最上部から検索を開始して、そのストリングのすべてのオカレンスを検索して置き換えます。検索を非除外行に制限しないと、すべての行 (除外および非除外) でストリングが置き換えられます。変更の影響を受けたすべての除外行が再表示されます。
FIRST
表の先頭から開始して、下方へ検索します。
LAST
表の最後から開始して、上方へ検索します。
PREV
カーソル位置 (カーソルがデータ表示部分にある場合) または表示された先頭行から検索を開始し、ストリングを見つけるために上方へ検索していきます。
CHARS
データ内の任意の場所で、その検索ストリングに突き合わせます。
PREFIX
データ内の接頭部として出現する場所で、その検索ストリングに突き合わせます。接頭部にするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に英数字が続く必要があります。
SUFFIX
データ内の接尾部として出現する場所で、その検索ストリングに突き合わせます。接尾部にするには、一致したテキストの前に英数字が付く必要があり、後に非英数字が続くか、一致したテキストが行またはフィールドの終端である必要があります。
WORD
データ内のワードとして出現する場所で、その検索ストリングに突き合わせます。ワードにするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に非英数字が続くか、あるいは一致したテキストが行またはフィールドの終端である必要があります。
#ALL
それぞれの列は、そのテンプレート属性に基づいて検索されます。
col_num
データ検索に含める列の Db2® 列番号 (#n として指定)。複数の列番号はコンマで区切るか、 全体がブラケットで囲まれている場合にはブランクまたはコンマで区切る必要があります。
col_num_1
フィールドの範囲の最初のフィールド参照。添え字にすることはできません。col_num_1 フィールド参照値が、表示されている最小のフィールド参照値より小さい場合は、表示されている最小のフィールド参照値が使用されます。
col_num_2
フィールドの範囲の最後のフィールド参照。添え字にすることはできません。col_num_2 フィールド参照値が、表示されている最大のフィールド参照値より大きい場合は、表示されている最大のフィールド参照値が使用されます。

col_num_1 および col_num_2 フィールド参照値は、ハイフン (-) で区切る必要があります。ハイフンとフィールド参照値の間にスペースを使用することができます。

col_num_1 の値が col_num_2 より大きい場合は、検索プロセスはオペランドを取り消します。

label1
レコード範囲の始まりを識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。
label2
行範囲の最後を識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。
EX
除外行のみ。
NX
非除外行のみ。
X
EX と同じ。

使用箇所

関連するタスク