ファイルレコード編集コマンド

CSV形式に変換したファイルやHULFTで集信したファイルに対し、レコードごとに改行の付加および改行の削除を行います。

編集したものは、標準出力または指定したファイルに出力します。

ファイルレコード編集コマンド

utllf  {-a|-d} {[-s separator-name]|[-sx separator-code]|[-l record-len]}
       [-k S|8|G] [-i filename] [-o filename] [-r]

パラメータ説明

-a|-d

改行コードを付加するか、削除するかを選択(省略不可)

-a

: 改行コードを付加

-d

: 改行コードを削除

-s separator-name|-sx separator-code|-l record-len

改行を付加または削除する場所(省略可)

-s

: ここで指定したセパレータ(トレーラ)文字の次に改行を付加

-sx

: ここで指定したセパレータ(トレーラ)コードの次に改行を付加

セパレータは16進数で指定できます。コードの指定は、「0xXX」という形で指定します(XXはコードを16進数で指定します)。

-l

: 「-a」との組み合わせでは、ここで指定したレコード長の次に改行を付加

「-d」との組み合わせでは、ここで指定した レコード長の次の改行を削除

指定できる最大値は32767バイトです。

これら3種の指定方法は、「-a」を指定した場合には必ず指定してください。「-d」を指定した場合には「-l」のみ指定可能(省略可)です。

-k S|8|G

データの転送コードセット(省略可)

S

: Shift-JISコード

8

: UTF-8コード

G

: GB18030コード

編集時、コードの整形処理に使用します。省略時はShift-JISになります。

-i filename

入力ファイル名(省略可)

256バイト以内の文字で指定します。

省略すると、標準入力になります。

-o filename

出力ファイル名(省略可)

256バイト以内の文字で指定します。

省略すると、標準出力になります。

-r

出力ファイルを上書き(省略可)

省略すると、出力ファイルがすでに存在している場合、エラーとなります。

注意事項

  • 「-l」で指定したレコード長の次のバイト位置に改行コード(0x0D0A)が存在するものとします。

  • レコード区切りに改行コード(0x0D0A)が存在するフォーマットデータを配信する場合、Windows系以外の配信先では「0x0D0A」は意味のないデータのため、その改行コードを削除するときに「-l」を指定します。改行コード(0x0D0A)がフォーマットデータ中のバイナリデータなのか、改行コードなのか判断できないため 「-l」を指定します。テキストデータから改行コードを削除する場合、「-l」を指定する必要はありません。

  • 「-k S|8|G」は、指定された文字コードに変換するパラメータではありません。

<設定例>

改行コードを削除したい場合

utllf  -d  -i  D:\tmp\test.dat  -o  D:\tmp\test2.dat

100バイトごとの改行コードを削除したい場合

utllf  -d  -l  100  -i  D:\tmp\test.dat -o  D:\tmp\test2.dat

「"」(ダブルクォーテーション)の後に改行コードを付加したい場合

utllf  -a  -s \"  -k  8  -i  D:\tmp\test.dat  -o  D:\tmp\test2.dat

16進コード0x1fの後に改行コードを付加したい場合

utllf  -a  -sx 0x1f  -i  D:\tmp\test.dat  -o  D:\tmp\test2.dat

200バイトごとに改行コードを付加したい場合

utllf  -a  -l  200  -i  D:\tmp\test.dat  -o  D:\tmp\test2.dat