web-dev-qa-db-ja.com

chtagはz / OSUNIXでは機能しません

Z/OSホストシェルでASCIIファイルにタグを付けようとしているので、コマンドラインでコードページを指定する必要はありません。

> echo > iso.txt
> chtag -t -c 819 iso.txt
> vi iso.txt

「こんにちは」と入力し、終了して保存します

> ls -T iso.txt
t ISO8859-1   T=on  iso.txt
> od -x iso.txt
0000000000      C885    9393    9615

iso.txtファイルを調べると、EBCDICが含まれていることがわかります。

コードページのタグ属性を利用するようにツールを設定するにはどうすればよいですか? -W filecodeset=819を使用してコードページを明示的に指定すると機能することに注意してください。

3
Stavr00

タグ付けに基づいて自動変換を行うためのサポートメカニズムがあります。あなたが興味を持っていることをするために、私はあなたのシナリオを私のz/OS2.3システムに複製しました。目的を達成するには、_BPXK_AUTOCVT=ONを設定できます。提供されたテストケースを繰り返し、_BPXK_AUTOCVT=ONを設定して、目的の動作が機能することを示しました。

$ echo > iso.txt
$ chtag -t -c 819 iso.txt
$ ls -T iso.txt
t ISO8859-1   T=on  iso.txt
$ vi iso.txt  (enter Hello, save then exit)
$ od -x iso.txt
0000000000      C885    9393    9615
0000000006

ファイルに819のタグを付けたにもかかわらず、WordHelloはEBCDICとして格納されます。
次に、_BPXK_AUTOCVT=ONを設定すると、自動変換が有効になります。

$ export _BPXK_AUTOCVT=ON
$ echo > iso.txt
$ chtag -t -c 819 iso.txt
$ vi iso.txt  (enter Hello, save then exit)
$ od -X iso.txt
0000000000          48656C6C        6F0A0000
0000000006

ここで、自動変換関数がテキストを正しいコードセットに保存したことがわかります。

参照:

4
Hogstrom