FIELD タブファイルのフィールドを選択してタブファイルに出力する

書法

FIELD [filename]* [option]*

SHELLMODE

@記述、!記述、^記述

詳細

タブファイルのフィールドを選択してタブファイルに出力する
複数のファイルを指定するとそれらを順次処理する。 ファイル名を省略すると標準入力を処理する。

出力項目の指定

出力項目はオプション(-F)で指定する。指定できるのは、入力項目、行番号、TSEXPR式、テキスト索引引用の4種類である。

入力項目

番号(1から始まる)を指定すると、入力ファイルの指定項目を出力する。連続したフィールド番号の指定も出来る。

行番号

出力フィールド指定の中に、行番号を記述できるが、行番号初期値、増分値の既定値は1。

TSEXPRの引用

出力フィールドの中に、tsexpr 引用を記述できる。
出力フィールド指定の中では、括弧()で囲み、中に、TSEXPR 式を書く。

tsexprで引用できる項目は次の通り
機能番号略記変数名説明
0 &0 ??gln 通算行番号
-1 &(-1) ??ln 行番号
-2 &(-2) ??fn ファイル番号
-3 @(-3) ??filename ファイル名
-4 &(-4) ??fc 入力項目数
n @(n) n番目の項目の値(n≧1)
bool SPOOL( str 文字列 ) 直接出力。

テキスト索引(文字列用)項目の引用

事前にIXSTRBUILD.EXEのオプション(-T)で作成したタブファイルモードのテキスト索引からフィールドを引用できる。
キーファイルの指定と、その引用の指定の二つの指定を行う。

キーファイルの指定

オプション(-K)で指定する。キーになる入力ファイルのフィールド番号と、索引ファイル名を指定する。
入力ファイルから一行読み込むと、ここで指定された番号のフィールドをキーにして、索引ファイルから該当レコードを読み込んで引用の準備をする。
索引ファイルは重複がないことを前提にしているが、重複がある場合は最初のものを返す。
キーファイルは登場順に1から昇順の番号が割り当てられる。

キーファイル引用の指定

出力項目指定の中で、キーファイル番号と索引ファイル内の該当レコードの項目番号を指定する。
項目は、内容文字列の先頭から順に、1から始まる番号を割り当てられている。

使用例

s1.txtの内容は次のとおりとする
SUN TAB 太陽 TAB 150 CR/LF STAR TAB 星 TAB 100 CR/F
索引ファイルを作成する。
SSORT s1.txt | IXSTRBUILD -t -os1.dic
s2.txtの内容は次のとおりとする。
YAMADA TAB SUN KAWANO TAB STAR
次のように引用できる
FIELD -F1;2;{1,1};{1,2}; -K2=s1.dic -oresult.txt

出力フィールド指定をしないと、入力項目に従って、そのままの順で出力する。

OPTION

-Dnumber
行番号増分値(0または正の整数)
-F{field;}*
出力項目指定
field 項目指定は以下の通り。
number
単純項目番号指定
[number-number]
項目番号範囲指定
#
行番号
(tsexpr)
TSEXPR式
{keyfile_number,keyfield_number}
索引ファイル引用。
keyfile_number:オプション(-K)で指定したキーファイルの番号
keyfield_number:見つかったレコード内の項目番号
-Inumber
行番号初期値指定(0または正の整数)
-Kfldnum=keyfilename
入力ファイルの参照元項目番号(fldnum)とキーファイル名(keyfilename)を指定する。
-Ofilename
指定のファイルに出力を切り替える
-W[0n|n]
行番号の出力形式を指定する。デフォルトは-W
-W自由形式-W→「123」
-Wn固定幅スペース埋めこみ-W5→「  123」
-W0n固定幅0埋めこみ-W05→「00123」

用例

参考

バージョン

Ver 1.00初版