COBOLで固定長ファイルを扱っているのですが、固定長って人間が見るのは項目ごとに分割しないときついんですよね
簡単に分割出来る方法を色々検討してみた結果「GNU awk(gawk)」が良さそうなので使ってみました。
最近のLinuxディストリビューションではawk
がgawk
のシンボリックリンクになっていると思います。
ちなみに私が使用していたLinuxディストリビューションはgawk
さえ入っていませんでした…
FIELDWIDTHを利用して固定長で分割するサンプル
gawk
にあるFIELDWIDTHS
と呼ばれる分割方法を用います。
以下は固定長の入力をタブ区切りにするサンプルになります。
#! /usr/bin/gawk -f
BEGIN {
FIELDWIDTHS = "2 3 54 20 10";
OFS="\t"
}
{
print($1, $2, $3, $4, $5);
}
コメント