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 | 初版 |