Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報
トップ  >  ユーティリティ  >  旧システム体系ユーティリティ一覧  >  会話型テキストエディタ#TEDITの使い方

コマンドを実行してみよう(3)

今まではテキスト編集系と行移動系のコマンドを説明しました。
コマンドには検索したり置換したりという機能を持ったものもあります。それらを説明します。


このページでは次のコマンドを使ってみます。上から順番に説明を読みながら実際に操作していく構成になっています。

●行検索(一致)
●行検索(不一致)
●文字列置換
●検索範囲指定
●文字列指定子
●テキスト印刷
●TAB位置指定
●履歴
●画面分割

●行検索(一致)

指定された文字列と一致する文字列を含む行を画面表示します(あるいはプリンタ出力)。
おまけでその行を削除することもできます。(文字列を削除、ではなくて行を丸々削除する)

SHO01という文字列を含む行を画面に表示してみましょう。
一致検索は「G」コマンドです。画面に表示するので、「STN」、全行検索するので「ALL」、文字列は文字列指定子「/」で囲みます。
具体的には「GSTN ALL S/SHO01/」と入力して、[ENTER]キーを押します。



「SHO01」を含む行が表示されました。



上の画面では、一致する行が少なかったので1画面で済みましたが、検索結果一致する行がたくさんあるときは、複数の画面に渡って表示されます。次の画面を表示する時には[前進]キーを使います。
[PF9]キーか[フォーム]キーを押すと、普通のテキスト編集画面に戻ります。

画面に表示する場合は「GSTN」ですが、プリンタに印刷する場合は「GPRN」、行削除する時には「GX」となります。例えば20行目から最終行までの間にある「FILLER」という文字列を含む行をプリンタ装置PRN999にプリントアウトするならば、「GPRN999 20,\ S/FILLER/」となります。

行だけではなく、何桁目からの文字を検索対象にするかも指定できます。例えば10桁目以降の文字を検索対象にするならば、「GPRN999 20,\ S/FILLER/10」となります。

●行検索(不一致)

上で一致する文字列を含む行を表示(印刷)する方法を説明しましたが、逆に不一致な行を表示(印刷)することもできます。不一致な行を削除することもできます。

不一致検索は「E」コマンドです。
「SH」を含まない行を検索してみましょう。
「ESTN ALL S/SH/」と入力します。



検索後の操作は「G」コマンドと同じです。

●文字列置換

一応テキストエディタなので、文字列を別の文字列に置換したり、削除したりといったコマンドも用意されています。

文字列置換は「S」コマンドです。
テキスト中の「SHO01」という文字列を「ABC01」に置換してみましょう。
全行を対象とするので「ALL」、置換前の文字列は「SHO01」、置換後の文字列は「ABC02」なので、コマンドは「S ALL S/SHO01/ /ABC02/」と入力します。



下の画面のように、一気に置換され、置換した行が一覧表示されます。
見たら[PF9]キーか[フォーム]キーを押しましょう。通常のテキスト編集画面に戻ります。



範囲指定の方法は、行検索と同じです。何行から何行目までとか、何桁目から後ろとか、指定することができます。

●検索範囲指定

行検索や文字列置換で、文字列指定子「/」の後ろに桁数を書くことによって、何桁目から検索/置換するかを指定することができました。
しかし何桁目から何桁目というように中間部分を指定することができませんでした。

「Z」コマンドによって、何桁目から何桁目を検索/置換範囲にするかを指定することができます。

例えば、10行目から30行目の間のテキストの中の20桁目から60桁目の間に「SH」という文字列があるかどうかを検索してみます。
まず「Z」コマンドを使って、桁を指定します。「Z 20,60」とします。



後は「G」コマンドで検索します。「GSTN 10,30 S/SH/」とします。



検索範囲指定は、検索実行後に自動ではリセットされないので、使ったら「Z 1」と入力して必ずリセットしておきましょう。

●文字列指定子

「G」コマンドや「S」コマンドで文字列を「/」で挟みました。この「/」を文字列指定子といいます。

もし「/」を含む文字列を検索したい時にはどうしたらよいでしょうか。例えば「AB/C」という文字列を検索したいならば「/AB/C/」とすればよいのでしょうか。

実は文字列指定子は「/」だけではありません。「:」や「*」も文字列指定子です。「/:*;!#?%@&<>="_」の文字全てが文字列指定子として使用できます。

「AB/C」を検索したい時は「:AB/C:」と「/」以外の文字で挟めばよいのです。ただし左右の挟む文字は同じ文字でなくてはなりません。

●テキスト印刷

テキストの印刷は、保存と同じ「W」(か「WN」)を使います。
プリンタ装置のPRN999に印刷するならば、「W PRN999」のようにします。

●TAB位置指定

会話型テキストエディタ#TEDITにはTAB位置というものがありました。
「T」コマンドにより、このTAB位置を自分の好みの位置に最大20個まで設置することができます。
「T 10,20,40」と書くと10桁目、20桁目、40桁目にTAB位置を置くことができます。

数字で指定するのは面倒という向きには、「T ?」とコマンドを打つとTAB位置表示部に数字の羅列が表示されて、そこにカーソルが移動します。
カーソルを適当な位置に移動させて、スペースと数字以外のキーを押すと、その位置にTABが設定されます。[実行]キーか[ENTER]キーを押すと通常の状態に戻ります。



●履歴

テキストを編集した履歴を印刷します。

「HON PRNxxx」とコマンド実行した後から「HOFF PRNxxx」とコマンドを実行するまでの間にテキストに行った変更をプリンタに印刷します。

「HON PRNxxx」とコマンド実行します。



履歴の編集を終了したい時は、「HOFF PRNxxx」と実行します。



下のようなテキスト編集履歴が印刷されます。

                                        * * * HISTORY LIST * * *
          TEXT NO.  ....-....1....-....2....-....3....-....4....-....5....-....6....-....7....-....8


                    --HON PRN999                                                                     --COMMAND       

                    --X                                                                              --COMMAND
              0022  000220 INPUT-OUTPUT     SECTION.                                                 --DEL

                    --I                                                                              --COMMAND
                               02 FILLER     PIC X(20).                                              --INS
              0071  000710 01  VIR01REC1.                                                            --UPD

                    --C                                                                              --COMMAND
                    000970********< ファイルIO >*********
                    000980 IO-RTN.
                    000990     READ   SHO01

                    --M                                                                              --COMMAND
                    000640 FD  VIR01
                    000650     BLOCK CONTAINS 3 RECORDS
                    000660     RECORD CONTAINS 256 CHARACTERS
                    000670     LABEL RECORDS ARE STANDARD

                    --I                                                                              --COMMAND
                          **   コメント                                                              --INS

                    --HOFF PRN999                                                                    --COMMAND



●画面分割

画面を上下2つに分割して、それぞれの画面でテキストの編集ができます。同じテキストを2つの画面に同時に出すこともできるし、違うテキストを画面の上下に表示して編集することもできます。

「SPL U」か「SPL L」で2つに画面を分割できます。



「SPL U」だと上画面が新規に作られるほうになります。
下側に今まで編集していたテキストが表示されていますが、ただでさえ狭い画面が半分になっていっそう狭くなっています。
最初の状態では、下画面しかありません。カーソルも下側にあります。
上下画面にカーソルを移動するには[PF6]キーを使用します。



[PF6]キーを押すと上画面に移動します。同じテキストが表示されます。
後は今まで通りテキストの編集ができます。
上下画面の移動は[PF6]キー、テキスト表示部とコマンド入力部間の移動は[PF9]キーか[フォーム]キーで行います。



1つの画面に戻すには、「SPL Q」とコマンド入力します。



以上主に使うであろう機能を中心に説明しました。他にもテキストのバージョン番号を変更したり、行番号を付けたり、テキストを保存すると同時に印刷を行ったり、複数のプログラムを1つに結合したりと、いろいろなことができます。詳しくは互換操作法ガイドブック<パラメータ編>などのマニュアルを参照しましょう。