DOTAB command [filename]* [option]*
コマンドを入力ファイルの行の分だけ繰り返し実行する。
入力するタブファイルの行内の項目をコマンド展開し、実行する。
行が空行の場合は通常実行しない。
ファイル名を省略すると、標準入力を扱う。複数のファイル名を書くと、それらを順に処理する。
コマンドは必ず第一パラメータとして記述しなければならない。
コマンドは、最終的に、コマンドラインとなるが、それを組み立てる簡単な置換法が用意されている。
| && | &自身 |
| &/ | 無視する |
| &+ | パイプ表現(|) |
| &$number | ファイル名(c:\temp\test) |
| &number | パラメータそのまま(c:\temp\test.txt) |
| &!number | ファイル名(test.txt) |
| &*number | ファイル名(test) |
| &.number | ファイル名(.ext) |
| &:envname; | 環境変数 |
| &(tsexpr) | TSEXPRの実行結果。 |
| &-repstr | &- 以降を引数置換する |
| &o | リダイレクト表現(>) |
| &i | リダイレクト表現(<) |
| &a | リダイレクト表現(>>) |
| &d | 二重引用符(")。単なる置き換え。 |
| &s | 引用符(')。単なる置き換え |
| &D | 二重引用符(")。重複解釈処理をする |
| &S | 引用符(')。重複解釈処理をする |
| &e | esc |
| &t | tab |
| &n | crlf |
| &L | 1から始まる行番号 |
| & | 無視する |
&Dと&Sは、引用符の解釈のために特殊な機能を持っている。
&Dと&Dの間に現れた"は、""に置き換えて出力する。この間に現れる&dも""に変換される(単なる置き換えコードだから)。
&D&#&Dと書いたとき、パラメータがabc"defならば、
"abc""def"と置きかえる。
&Sは'に対して同様に働く。
残念ながら、この機能は、ネスティングをしないので、&Dの中で、
&Sを使用しても、外側の&Dの機能しか働かない。
このとき、&Sは&sと同様にただの置換となる。
&(TSEXPR)は、
&-...(引数置換)のインタフェースは次の通り。
| 機能番号 | ARGREP 置換表記 | TSEXPR 略記 | TSEXPR 変数名 | 説明 |
|---|---|---|---|---|
| n | %n; |
@n |
|
1から順に入力項目に対応 |
| 0 | %0; |
&0 |
??gln |
通算入力行番号 |
| -1 | %-1; |
@(-1) |
??filename |
入力ファイル名 |
| -2 | %-2; |
&(-2) |
??fn |
入力ファイル番号 |
| -3 | %-3; |
&(-3) |
??ln |
入力行番号 |
| -4 | %-4; |
&(-4) |
??ix |
通算処理番号 |
| -5 | %-5; |
&(-5) |
??fc |
入力項目数 |
-C-E-F-Ofilename-Ptsexpr-Q-S-W[{0n|n}]| -W | 自由形式 | -W→「123」 |
| -Wn | 固定幅スペース埋めこみ | -W5→「 123」 |
| -W0n | 固定幅0埋めこみ | -W05→「00123」 |
-Xpath-Y[filename]+」を付けるとファイルに追記する。
ファイル名を省略すると、標準エラー出力を標準出力に切り替える。
| Ver 1.03 | 2012/08/04 | エラー出力の追記モード |
| Ver 1.02 | 2012/06/27 | テンプレート末の「\」扱いの不具合を修正 |
| Ver 1.01 | 2012/06/11 | オプション Y 導入 |
| Ver 1.00 | 初版 |