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

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」は、指定された文字コードに変換するパラメーターではありません。

## 補足

システム動作環境設定の転送関連ファイルの削除モード（trnsfr_file_del）に“復元不可能モード（1）”を指定していた場合、処理中に編集したデータを削除する必要があるときは、復元不可能な状態で削除されます。

## 設定例

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

      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