COLUMN タブファイルのレコードを固定長行に変換する

書法

COLUMN [filename]* [options]*

SHELLMODE

@記述、!記述、^記述

詳細

タブファイルのレコードを固定長行に変換する。 また、レコード単位のテキストへの差し込みを行う
ファイル名を複数書くと、順に処理する。 ファイル名を省略すると標準入力を扱う。

固定長行モードと、差込モードがある。

固定長行モード

オプション(-F)で、タブファイルの各フィールドに対応するカラムを指定する。
カラムは、先頭から順にフィールドに対応する。 対応するカラムが無いフィールドは出力しない。 1レコードは1行に対応する。
-Sでカラムとカラムの間に特定の文字列を挟むことが出来る。(デフォルトは指定無し)

差し込みモード

オプション(-T)で指定したテンプレートファイルに各フィールドを差し込む。
また、オプション(-C)で指定したテンプレートに各フィールドを差し込む。
テンプレートファイルはレコードに対応し、そのテキストはそのまま出力に現れる。 テキスト内に差し込み指定文字が現れると、その指定に従って先頭のフィールドから順に差し込む。
記号説明
@[#]* 文字列左寄せ。@#の数がそのまま差し込む幅
![#]* 文字列右寄せ。@#の数がそのまま差し込む幅
$[#]* 文字列中央寄せ。@#の数がそのまま差し込む幅
^#+[.#+] 数値差し込み。最初の#の連続が整数部桁数。
小数点以下を付加すれば、以降の#が小数部桁数。
小数部桁数、整数部桁数はともに、15以下であること。 それ以上の値、あるいは、双方とも0の場合はエラーとなる。
符号部1文字が確保されるので、見た目と出力は一致する。
記述記号(@!$^)をテキストとして出力する場合は、二つ書けば良い。 また、桁記号(#)は記述記号の後でなければ、そのまま書ける。

OPTION

-Ctemplatestr
templatestrをテンプレートとした差込モードに切り替える。templatestrの末尾に改行がなければ改行が付加される。
-F[カラム指定;]*
固定長行モードに切替え、フィールドに対応するカラムを指定する。
カラム指定
[[count]] 桁数 [L|R|C| 小数部桁数 ]
count
カラムの繰り返し数。同一のカラムをまとめて指定するとき使用。
桁数L
桁数幅の文字列左寄せ
桁数R
桁数幅の文字列右寄せ
桁数C
桁数幅の文字列中央寄せ
整数部桁数.小数部桁数
数値差し込み。整数部、小数部の桁数は0-15まで。両方0ならばエラー
桁数だけを書くと文字列左寄せとなる。
-L
オプション(-T)による差し込みモードのとき、テンプレートの最後に改行が無くても必ず改行する。
オプション(-C)による差込モードのとき、テンプレートの最後に改行がない場合は改行しない。
-Ofilename
出力を指定のファイルに切替える。
-Sstr
固定長行モードのとき、カラムとカラムの間を埋める文字列を指定する。
str正規表現で書ける。 残念ながら\0を書くとそこで文字列は終了してしまう。
-Ttemplate_filename
差込モードに切替え、テンプレートファイル名を指定する。
-Xstr
差込モードの時の記号(@!$^)を変更する。
4文字の半角文字(制御記号は不可)で指定し、@!$^に先頭から順に対応する。 文字は全て異なっていること。

用例

参考

バージョン

Ver 1.012015/01/30-Cオプション追加
Ver 1.00初版