(動画教材準備中)
uawk: ユニケージ版 awk
Usage : uawk [options] -f <pgfile> ... <file>
uawk [options] <program> <file>
Options : -f <pgfile> --file <pgfile>
-v <var>=<val> --assign <var>=<val>
Version : Tue Jul 31 23:37:40 JST 2018
Edition : 2
ユニケージに特化して高速化した awk です。入力ファイルは <file> のみ です。<file>
の指定が無いとき、あるいは ""-"" の時は、標準入力を読み込 みます。
-f <pgfile> を指定した場合、プログラムは <pgfile> から読み込まれます。
このオプションを指定しない場合、<program> をプログラムと扱います。 -v
<var>=<val> を指定すると、変数 <var> の初期値を <val>
にします。両オプションともに複数個指定することができます。
環境変数 AWKPATH はありません。 入力ファイルは1つだけ指定できます。
レコードの区切り '\n' (変更できません) フィールドの区切り ' ' (変更できません)
uawkの組み込み変数は以下のものだけです。
awk/gawk とは異なり、指数表記(1.2e3 等)を数値と扱いません。 変換時の丸めは四捨五入で行います。
awk/gawk とは異なり、REGEX(3) を用いています。
| と |& はありません。 gawkと同様に、^ ^= の代わりに、 ** **= も使用できます。
すべての正規表現と文字列操作において、大文字小文字を区別 するかどうか制御します。
IGNORECASE!=0 の場合、以下の場合に大文字と小文字の違いは 無視されます。
文字列比較
プログラムのパターンにおけるマッチ ~ 及び !~ による正規表現マッチ、 定義済み関数 gensub(), gsub(),
index(), match(), sub()
(例)/aB/ は "ab", "aB", "Ab", "AB" のいずれにもマッチ します。
初期値 0 (初期状態では、大文字と小文字は区別されます)
awk/gawk とは異なり、指数表記(1.2e3 等)を数値と扱いません。 変換時の丸めは四捨五入で行います。
awk/gawk とは異なり、REGEX(3) を用いています。
| と |& はありません。
gawkと同様に、^ ^= の代わりに、 ** **= も使用できます。
close(file) 第2引数(パイプ関連機能)無し
nextfile
command | getline
command | getline var
print | command
print expr-list | command
system(cmd-line)
%e, %E 使えません
%g, %G awk/gawk と異なり常に %f 形式となります。
ただし、精度は有効数字桁数を表し、
整数部の桁数が精度以上の場合は小数点以下を丸めます。
後0は削除します。
count$ 使えません
特別な意味を持つファイル名はありません。 (/dev/stdin 等は OS でサポートされています)
quit 文は exit 文と同様にプログラム実行を終了します。exit 文は入力の 残りが有っても直ちに終了するため、パイプ詰まりによるシグナルが発生す る可能性が有ります。一方、quit 文は入力を読み切って(読み捨てて)か ら終了するので、パイプ詰まりによるシグナルが発生しません。
exp(expr) 自然対数 e の expr 乗
int(expr) 整数への丸め(切り捨て)
log(expr) 自然対数
sqrt(expr) 平方根
atan2(x, y)
cos(expr)
rand()
sin(expr)
srand([expr])
abs(expr) 絶対値
ceil(expr) 天井関数
floor(expr) 床関数
nearest(expr, prec) 小数点以下第 prec 位で最近値丸め
round(expr, prec) 小数点以下第 prec 位で四捨五入
roundup(expr, prec) 小数点以下第 prec 位で切り上げ
truncate(expr, prec) 小数点以下第 prec 位で切り捨て