EXPRLN expr [filename]* [option]*
第一パラメータをTSEXPR式の連続として解釈して、
入力ファイルの各行を計算し、標準出力する。
ファイル名を省略すると標準入力を扱う。
通常は式の値を常に出力するが、出力行を抑制する検定モードを指定できる(-P
)。
入力行内で有効な制御コードはタブのみ。それ以外は入力時に読み飛ばされる。
行を一まとめの文字列として扱うので、テキスト処理などに向いている。
{ TSEXPR式; }+
;
で区切って第一パラメータに記述する。また、#記述を行った場合、複数行の記述が可能だが、 このとき、改行は半角スペースに置きかえられるので注意すること。
実行に先立って初期化式を実行できる(-I
)。
また、実行の最後に値を出力できる(-F
)。
実行の最後だけの値を出力する場合には、各行の出力を抑制すればよい(-S
)。
複数の式を書けるが、最初の式を特別扱いして、以降の実行の有無を制御するモードがある。
標準の行単位のほかに、メモリ中にファイルを読み込んで処理するモードがある。
引数 | 略記 | 変数名 | 説明 |
---|---|---|---|
1 | @1 |
??line |
現在の行 |
0 | &0 |
??gln |
通算行番号 |
-1 | &(-1) |
??ln |
ファイル内行番号 |
-2 | &(-2) |
?fn |
ファイル番号 |
-3 | @(-3) |
??filename |
処理中のファイル名 |
-10 | &(-10) |
??lastlinep |
最終行で真 |
-11 | SYS(-11) |
??off |
出力抑制フラグをオンにする |
-12 | SYS(-12) |
??on |
出力抑制フラグをオフにする |
-13 | @(-13) |
|
次の行に移行する。次の行を返す。 次の行がない場合、""を返す。 |
SYSBOOL(-13) |
|
次の行に移行する。 次の行があれば真を、無ければ偽を返す。 新しい行の値は、@1で参照できる |
|
|
??next |
次の行に移行する。次の行を返す。 次の行がない場合、FALSEを返す。 |
|
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 |
-Z
)で一括読み込みを指定できる。一つのファイルをまとめて読み込む。引数 | 略記 | 変数名 | 説明 |
---|---|---|---|
1 以上 | @n |
|
指定番号の行。 |
SYSBOOL(n) |
|
指定番号の行。行があれば真、無ければ偽。 | |
0 | &0 |
??gln |
読み込んだ通算行数 |
-1 | &(-1) |
??ln |
該当ファイル行数 |
-2 | &(-2) |
??fn |
ファイル番号 |
-3 | @(-3) |
??filename |
処理中のファイル名 |
-11 | &(-11) |
??off |
出力抑制フラグをオンにする |
-12 | &(-12) |
??on |
出力抑制フラグをオフにする |
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 |
-ZC
)では一括読み込みをし、さらに、行数分だけ、着目行番号を増加させながら、式処理を繰り返す。引数 | 略記 | 変数名 | 説明 |
---|---|---|---|
1 以上 | @n |
|
指定番号の行。存在しない行では""。 |
SYSBOOL(n) |
|
行が存在すれば真、存在しなければ偽。 | |
0 | &0 |
??line |
処理中の行 |
-1 | &(-1) |
??ln |
該当ファイル行数 |
-2 | &(-2) |
??fn |
ファイル番号 |
-3 | @(-3) |
??filename |
処理中のファイル名 |
-4 | &(-4) |
??cl |
着目行番号(1〜) |
-11 | SYS(-11) |
??off |
出力抑制フラグをオンにする |
-12 | SYS(-12) |
??on |
出力抑制フラグをオフにする |
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 |
-ZA
)ではすべての行を連結して一つの文字列にして読み込む。行末には"\n"を付加する。式処理はファイルに対して一度だけ評価する。引数 | 略記 | 変数名 | 説明 |
---|---|---|---|
1 以上 | @1 |
??line |
読み込んだデータ。 |
0 | &0 |
??gln |
読み込んだ通算行数 |
-1 | &(-1) |
??ln |
該当ファイル行数 |
-2 | &(-2) |
??fn |
ファイル番号 |
-3 | @(-3) |
??filename |
処理中のファイル名 |
-11 | SYS(-11) |
??off |
出力抑制フラグをオンにする |
-12 | SYS(-12) |
??on |
出力抑制フラグをオフにする |
|
??print |
出力の許可状態を表す論理値。
行の計算式、初期化式などそれぞれの場合に固有である。
??print := bool 値 |
|
bool SPOOL(str 文字列 )
|
文字列を直接出力する。 |
-B{tsexpr;}+
-E{tsexpr;}+
-F{tsexpr;}+
-I{tsexpr;}+
-L{S|C|L}
-LS | デフォルト。不要のコードを除去。LFを行末とみなす。CRは無視する。 |
-LC | コードの変更をしない。CRLFを行末として扱う。 |
-LL | コードの変更をしない。LFを行末として扱う。 |
-NOEOL
-Ofilename
-P
-Rstr
-S[+|-]
-SB[+|-]
-SE[+|-]
-SI[+|-]
-SF[+|-]
-Tstr
-X
-V
-Z
-ZA
-ZC
Ver 1.02 | 2012/06/26 | -L で入力行の扱いを変更できるようにした。 |
Ver 1.01 | 2012/04/30 | 初期化/終了化でのcallback修正。 外部変数 ??print を導入。 |
Ver 1.00 | 初版 |