結合ファイル分解コマンド
結合して転送されたファイルを分解して別々のファイルに出力することができます。ファイルに出力するときは、結合したときの情報と指定したパラメータに基づき、コード変換などを行いながら分解します。
utlbreak -infile filename [-codeset {0|A-I|V-X}] [-shift {c|s}] [-r] [-b] {[-seqnbr number [-outfile filename]...] |[-tgtfile filename [-outfile filename]...] |[-from number] [-to number] [-dir directory]}
パラメータ説明
- -infile filename
-
結合ファイル名(省略不可)
256バイト以内で指定します。
相対パス、絶対パスのどちらの指定も可能です。
- -codeset
-
EBCDICセット(省略可)
- 0
-
: 自動
- A
-
: カナ文字(EBCDICカナ文字)
- B
-
: 英小文字(EBCDIC英小文字)
- C
-
: ASCII(EBCDIC-ASCII)
- D
-
: ASPEN(EBCDIC-ASPEN)
- E
-
: IBM英小文字
- F
-
: IBM英小文字拡張
- G
-
: NECカナ文字
- H
-
: IBMカナ文字拡張
- I
-
: 中国語簡体字拡張
- V
-
: ユーザテーブル1
- W
-
: ユーザテーブル2
- X
-
: ユーザテーブル3
省略すると“0(自動)”が設定されます。
- -shift
-
コード変換時のシフトコードの扱いを指定(省略可)
- c
-
: シフトコードをカット
- s
-
: シフトコードをスペース(ASCII:0x20)に変換
省略すると“c”が設定されます。
- -r
-
出力先ファイルを置き換え(省略可)
省略すると、分解ファイルと同名のファイルが存在した場合にエラーとなります。
- -b
-
分解時のメッセージを出力しない(省略可)
省略すると、分解が完了するごとにメッセージを出力します。
- -seqnbr number -outfile filename
-
結合ファイル中の順序番号指定による分解(省略可)
「-seqnbr」で“1”~“9999”の範囲で番号を指定します。
「-outfile」で出力ファイル名を256バイト以内で指定します。
「-outfile」を省略すると、結合ファイルをもとに出力ファイル名を自動生成します。詳細は「出力ファイル命名規約」を参照してください。
最大10回繰り返して指定できます。
- -tgtfile filename -outfile filename
-
結合ファイル中のファイル名指定による分解(省略可)
「-tgtfile」でファイル名を256バイト以内で指定します。
「-outfile」で出力ファイル名を256バイト以内で指定します。
「-outfile」を省略すると、結合ファイルをもとに出力ファイル名を自動生成します。詳細は「出力ファイル命名規約」を参照してください。
最大10回繰り返して指定できます。「-tgtfile」の指定は、結合ファイル内容を表示するときに出力されるファイル名を指定してください。詳細は「結合ファイル内容表示コマンド」を参照してください。
- -from number -to number
-
結合ファイル中の順序番号の範囲指定による分解(省略可)
“1”~“9999”の範囲で指定します。
「-from」を省略すると、「-to」で指定した番号までのすべての番号が対象になります。
「-to」を省略すると、「-from」で指定した番号以降のすべての番号が対象になります。
結合ファイルをもとに出力ファイル名を自動生成します。詳細は「出力ファイル命名規約」を参照してください。
- -dir directory
-
分解ファイルの生成フォルダ(省略可)
256バイト以内で指定します。
省略すると、結合ファイルが存在するフォルダに分解します。
「-outfile」が指定されている場合は、そちらの指定が有効になります。
注意事項
-
「-seqnbr」、「-tgtfile」と「-from -to」は同時に指定することはできません。
-
「-outfile」は「-seqnbr」または「-tgtfile」と組み合わせて使用します。
「-from -to」指定時は使用することはできません。
-
「-seqnbr」、「-tgtfile」、「-from -to」のいずれかを必ず指定してください。
-
パラメータ「-codeset」を省略、または“0(自動)”が設定された場合、分解するときに使用されるEBCDICセットの値は、以下のように決定されます。
表6.1 自動的に決定されるEBCDICセットの値
分解側ホストの転送コードセット
結合側ホストの転送コードセット
UTF-8
SHIFT-JIS
EUC-JP
GB18030
IBM
漢字JEF
KEIS
NEC
漢字IBM
簡体字SHIFT-JIS
-
-
-
×
F
A
D
G
×
UTF-8
-
-
-
-
F
A
D
G
I
GB18030
-
×
×
-
×
×
×
×
I
-
:
EBCDICセットの値は、結合ファイル分解時のコード変換で使用されない
×
:
結合ファイル分解時にコード変換できない組み合わせ
A
:
EBCDICカナ文字
D
:
ASPEN
F
:
IBM英小文字拡張
G
:
NECカナ文字
I
:
中国語簡体字拡張
分解側ホストのコードセットを登録するシステム動作環境設定の転送コードセット(cs4trnsfr)の詳細は、「アドミニストレーション マニュアル」を参照してください。
結合側ホストのコードセットを登録する「転送コードセット(KCODETYPE)」の詳細は、「詳細ホスト情報」を参照してください。
-
HULFT8のServerグレードを導入した環境で扱うネットワークファイルに対して、結合ファイル分解コマンドを使用することはできません。
補足
-
「-dir」を指定すると、指定したフォルダの下に出力ファイルを作成します。
「-dir」を省略すると、結合ファイルのあるフォルダに作成します。
-
「-seqnbr」と「-tgtfile」をあわせて最大10回まで指定できます。
結合ファイルを分解するときに出力ファイル名を省略すると、結合ファイルの作成機種により、以下のように出力ファイル名が生成されます。
結合ファイルの作成機種がUNIX/Linuxの場合
結合ファイル作成時の入力ファイル名 |
出力ファイル名 |
---|---|
/test1/test2/test3.txt |
test3.txt |
../test1/test2/TEST3.txt |
TEST3.txt |
test1.txt |
test1.txt |
結合ファイルの作成機種がWindowsの場合
結合ファイル作成時の入力ファイル名 |
出力ファイル名 |
---|---|
c:\test1\test2\test3.txt |
test3.txt |
..\test1\test2\TEST3.txt |
TEST3.txt |
test1.txt |
test1.txt |
結合ファイルの作成機種がIBMiの場合
結合ファイル作成時の入力ファイル名 |
出力ファイル名 |
---|---|
MYLIB/TXT(TEST) |
TEST.TXT |
上記の変換規則が適用されるのは、ファイル名、拡張子として使用する部分が、以下の条件を満たしている場合に限ります。
-
ライブラリ名/ファイル(メンバ名)の形式でそれぞれが10バイト以内で記述されていること。
上記の変換規則に従っていない場合は、入力ファイル名に4桁の順序番号を付加したファイル名となります。
<入力ファイル名>.<順序番号>
たとえば、入力ファイル名がtest.join、5番目のファイルを分解したときにファイル名が規則に従っていない場合のファイル名は、「test.join.0005」となります。
結合ファイルの作成機種がMainframeの場合
ファイル編成 |
結合ファイル名 |
出力ファイル名 |
---|---|---|
順編成ファイル |
TEST1.TEST2.TEST3.TXT |
TEST1.TEST2.TEST3.TXT |
区分編成ファイル |
TEST1.TEST2.TXT(TEST3) |
TEST1.TEST2.TEST3.TXT |
上記の変換規則が適用されるのは、ファイル名、拡張子として使用する部分が、以下の条件を満たしている場合に限ります。
-
順編成ファイルは44バイト以内、区分編成ファイルは54バイト以内、ただし、データセット名は「<8バイト以内>.<8バイト以内>.……」の形式で記述されていること。
上記の変換規則に従っていない場合は、結合ファイル名に4桁の順序番号を付加したファイル名となります。
<結合ファイル名>.<順序番号>
たとえば、結合ファイル名がtest.join、5番目のファイルを分解したときにファイル名が規則に従っていない場合のファイル名は、「test.join.0005」となります。
<記述例>
順序番号による指定
utlbreak -infile D:\hulft\data\join01.dat -seqnbr 1 -outfile break01.dat -seqnbr 3 -outfile break03.dat utlbreak -infile D:\hulft\data\join01.dat -r -seqnbr 1 -seqnbr 3 -dir D:\hulft\data\out
ファイル名による指定
utlbreak -infile D:\hulft\data\join01.dat -tgtfile D:\home\hulft\test1.txt -outfile break01.dat utlbreak -infile D:\hulft\data\join01.dat -r -tgtfile test1.txt -tgtfile test2.txt -dir D:\hulft\data\out
順序番号の範囲による指定
utlbreak -infile D:\hulft\data\join01.dat -r -from 1 -to 10 -dir D:\hulft\data\out