2011.06.22
 

レコードをtestoutファイルにコピーするQSHコマンド

Question

SQL を使用してデータベース・ファイルを読み取るため、IFS で発生する .CSV ファイルをデータベース・ファイルにコピーしたいと考えています。次のようにしました。

CRTPF FILE(JADE/TESTOUT) RCDLEN(2000)
STRQSH
CMD('tail   /TMP/ALI7IC_304463.CSV   >   /qsys.lib/jade.lib /testout.file/testout.mbr')

「Tail」と「Head」の両方の QSH コマンドを試してみました。Tail は最後のレコードをコピーし、Head は最初のレコードをコピーします。レコードをすべて testout ファイルにコピーするにはどちらの QSH コマンドを使用すればいいのでしょうか。

Answer

「Head」や「Tail」ではなく、「Cat」コマンドを使用してください。Cat の意味は「catenate」で同義語は「concatenate (連結)」です。ソース・ファイルを空の出力ファイルの最後に連結するのです。ファイルが既に存在する場合、ダブル・リダイレクト記号 >> (意味は「append (追加)」) を使用してそのファイルの終わりに出力ファイルを連結できます。

ページトップ

ボタン