サポートチーム便り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 (追加)」) を使用してそのファイルの終わりに出力ファイルを連結できます。