著者:坂東 勝也
ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第9回は、前回の続きとしてデータの扱い方について解説します。
シェルスクリプトマガジン Vol.62は以下のリンク先でご購入できます。
図2 LV3データ作成処理のコード(一部抜粋)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
####################################### # LV3 の作成 echo $lv2d/$today/PROFILE* | # /home/hoge/DATA/LV2/20190919/PROFILE* tarr | ugrep -v "\*" > $tmp-list ERROR_CHECK # LV2 ファイルが存在した場合だけ処理 if [ -s "$tmp-list" ] ; then # LV2 ファイル # 1:管理番号 2:名前 3:ふりがな 4:アドレス 5:性別 # 6:年齢 7:生年月日 8:婚姻 9:血液型 10:都道府県 # 11:都道府県コード 12:携帯 13:キャリア 14:削除フラグ 15:オペレータ # 16:更新日付 cat $tmp-list | xargs cat | msort key=1@NF > $tmp-kousin ERROR_CHECK ) # 新規マスタの作成 # 1:管理番号 2:名前 3:ふりがな 4:アドレス 5:性別 # 6:年齢 7:生年月日 8:婚姻 9:血液型 10:都道府県 # 11:都道府県コード 12:携帯 13:キャリア 14:削除フラグ 15:オペレータ # 16:更新日付 up3 key=1@NF $lv3d/$yday/PROFILE $tmp-kousin | #前日マスタに本日LV2の情報をマージ # 最新の情報だけを残す getlast key=1 | #管理番号ごとに最も新しいものだけを出力 # 削除フラグ=1は除外 delr 14 1 > $lv3d/$today/PROFILE ERROR_CHECK # マスタの置換 cp $lv3d/$today/PROFILE $lv3d/PROFILE.new ERROR_CHECK mv $lv3d/PROFILE.new $lv3d/PROFILE ERROR_CHECK fi |