tcal 使用方法
【機能概要】
テキストファイルに記述された各項目データ毎の集計を出力します。
【実行形式】
@tcal [-Tc] [-e format] [-k break_key] [-l] -h headerfile datafile1
Atcal [-Tc] [-e format] [-k break_key] [-l] datafile2
【パラメータ】
-Tc datafile1の各列データまたはdatafile2のデータ部の各列データの区切り文字を
指定します。
省略時には、スペース(漢字のスペースも含む)やタブが区切り文字となります。
-e format 浮動少数点データのデフォルト編集指定。これは'999,999,…'と指定するか、
c言語のprintf関数の編集フォーマットを指定します。(Ex."%.6g")
-k break_key 小計を求める際のブレークキー項目の番号を指定します。
ただし、ヘッダーデータに"<k>..."というキーブレーク指定行がある場合、これは
無視されます。
-l 文字列データのソートを行う場合、大文字(A-Z)と小文字(a-z)の区別をしません。
headerfile 見出しや各列に表示する計算式を指定するものです。
datafile1 各列のデータをスペースで区切ったファイルです。
datafile2 ヘッダーファイルとデータファイル1を結合したファイルです。
【補足説明】
(1)ヘッダーファイル
第一行目には、次の形式で見出しを記述します。
「<h> 列1見出し 列2見出し … 列n見出し」
列見出しにスペースを含む場合には、"…"と囲んで下さい。
各列の表示領域は、直前のスペースから列見出しまでの領域となります。
例えば、
12345678901234567890 (カラム位置)
「<h> item1 item2 …」
の場合、列2の表示領域は、カラム10からカラム18までとなります。
2行目以降には、以下の順で指定します。
@<i>列1データタイプ 列2データタイプ …
A<o>列1計算式 列2計算式 …
B<k>ブレークキー番号 [:出力列番号1 出力列番号2 …]
C<s>[-]ソートキー番号1 [[-]ソートキー番号2 …]
ここで、@とAは必須で、BとCが任意となります。
@の列データタイプは、以下のものを指定します。
s … 文字列
i … 整数
f … 浮動小数点
t … 時刻
x … 16進数
なお、各データタイプにおける計算の基数は、以下のように設定されます。
i,f … 10進
t … 60進
x … 16進
Aの列計算式の指定は、次のようにします。
ただしデータタイプが't'や's'の場合には、出力フォーマット(format)の指定はできません。
式の記述の仕方は、関数計算プログラムmcalと同様ですが、以下のものが異なります。
$n 列nデータ
ただし、$nが文字列データの場合、[式]は計算式ではなく文字列の記述となります。
$[m-n] 列データm+列データm+1+・・・+列データn
ただし、0 < m < n.
hh:mm[:dd] 時刻データの形式(mcalでは、'[hh:]mm:dd'となる)
[-]xx... 16進データの形式(x:A-F,a-f,0-9。Ex. '01AF')
Bはブレークキーの指定で、これは出力列データ番号を指定します。
これを指定すると、当出力列データが変わった場合に小計を出力します。
ブレークキーの他に出力列データ番号を指定すると、それらの列データの小計だけが表示されます。
Cは出力データ行のソートを行うもので、ソートキー番号はこの列番号を指定します。
ソートキー番号の前に'-'を付加した場合には、並びは降順となります。
複数のソートキー番号を指定した場合、データ行の並びは先に指定したものが優先されます。
(2)データファイル1
データファイル1の列データは、スペースを含まない場合には、そのまま記述します。
もしスペースを含む場合には、"…"と囲みます。
(3)処理対象外の行
@<#>...: 単なる出力行。'<#>'の次の文字から出力します。これはコメント出力に使用します。
A// ...: 読み飛ばします。
B空白行: 読み飛ばします。
(4)データファイル2の例
<h> xxxxx size mon dd year time file_name
<i> s i s i i t s
<o> $1 $2 $3 $4 $5 $6 $7
<k> 3: 2 6
-a--rw- 1401 Apr 7 1998 21:55 a.txt
-a--rw- 182479 Apr 30 1998 06:22 a
-a--rw- 119 May 8 1998 19:34 b
-a--rw- 201 May 7 1998 09:21 c
これに対する実行結果は、次のようになります。
xxxxx size mon dd year time file_name
-a--rw- 1401 Apr 7 1998 21:55 a.txt
-a--rw- 182479 Apr 30 1998 6:22 a
mon: Apr ------------------------------------
183880 28:17
-a--rw- 119 May 8 1998 19:34 b
-a--rw- 201 May 7 1998 9:21 c
mon: May ------------------------------------
320 28:55
total ---------------------------------------
184200 52 7992 57:12
【定数定義ファイル:const.def】
物理・化学定数(SI系)及び原子量定数の各値については、定数定義ファイルにて指定することができます。
この形式は次のようになります。
値は浮動小数点形式で指定します。
ただし、先頭に'#'を付けた場合、これはコメント行となります。
当ファイルがない場合や未定義の定数については、プログラムで定義された値となります。
なお、定数IDについては"mcal.htm"を参照のこと。
ホームページへ