保管ファイルの分割/再結合 (V5R4)

保管ファイルなどを(容量の問題等で)分割して転送したい、なんてことはありませんか?

実は IBM i の標準機能のみで実はそれを実現させることができるんです。
今回は保管ファイルを例にとって、そのやり方を見てみましょう。


QSHELL からの作業

qsh を使用して作業します。

qsh での作業を行いやすくするために IFS に転送しておきましょう。
localhost に ftp して、保管ファイル QEOL がもうすでに IFS 上の qeol.savf というファイルに変換が済んでいる、ということでこれからの話をすすめます。

保管ファイルを IFS 上で分割

qsh を起動し、↓のように split というコマンドを使用します。

split の使い方はインフォメーション・センターの「split - ファイルを分割する」に載っています。

↑のスクリーン・ショットにある、2つめの例が実際の実行例ですね。

split -b5m qeol.savf qeol_

カンタンに説明すると、

という意味になっています。

実行結果は3つめの ls コマンドの結果で確認できています。
qeol_aa と qeol_ab という 2つのファイルが新しく出来ているのがわかりますね。

split コマンドの最後の qeol_ の設定がなければ、仕様によって aa と ab という名前のファイルができていたことになります。
それでも問題ないようであればこの設定は必要ありませんが、それなりの量のファイルを転送するような場合は判別しにくいケースもあるのではないかと思って、今回はこの指定を(サンプル的に)行った結果 qeol_aa と qeol_ab という名前のファイルになっています。

この個々のファイルは5MB以下になっていますので、これを転送するようにすればいいわけですね。

分割したファイルの再結合

さて、分割したファイルですが、結合させるにはどうしたらよいでしょう??

cat コマンドを使用することでもとどおりに結合させることができます。
cat コマンドの使い方はインフォメーション・センターの「cat - ファイルを連結して出力する」に載っています。

↑のスクリーン・ショットの下から二番目の”>”の横にある実行例では、

cat -c qeol_aa qeol_ab > qeol2.savf

こちらもカンタンに説明すると、

という意味になっています。

スクリーン・ショットの最後にある ls コマンドの結果を見ると、新しく qeol2.savf というファイルが新しくできているのがわかりますね。

IFS ファイルを再度保管ファイルに変換

今度は、この qeol2.savf を保管ファイル(今回は QEOL2 というファイルにしました)に ftp してやればいいわけです。
最初に行った localhost への ftp の逆ですね。

ftp localhost

ftp で QEOL2 という保管ファイルに put を行いました。

このファイルに対して DSPSAVF コマンドを実行してみましょう。

DSPSAVF QEOL2

↑のように保管ファイルとして読めることが確認できました。

[Top Pageに戻る]

Ads by TOK2