The UNIX and Linux Forums  


Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
一般的なシェルスクリプトのファイルをアーカイブする mak1600 シェルプログラミングとスクリプティング 8 2008年7月26日 09:51午前
スクリプトのパージ JP003 シェルプログラミングとスクリプティング 1 2008年7月11日 07:42午前
スクリプトファイルのアーカイブ KeesH シェルプログラミングとスクリプティング 10 2008年6月9日 12:11午後
スクリプトのアーカイブを作る jimmyc シェルプログラミングとスクリプティング 1 2007年9月15日 05:02午前
その後、パージまたはアーカイブファイルを読む。 kayarsenal シェルプログラミングとスクリプティング 15 2006年8月10日 09:24午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年10月13日
regnumber regnumber is offline
登録ユーザー
  
 

参加日: 2008年10月
投稿数: 9
アーカイブのためのシェルスクリプトをパージ

私は、表の行を持つ< 1年間のアーカイブパージするためのシェルスクリプトを書いています。は、シェルスクリプトでは、テーブルから行を抽出し、それらの行をテキストファイルに書き込みを抽出しています。次に、テキストファイルから、それぞれの行を読むされ、削除された1つのクエリを1つの手段で削除。これらのフィールドの位置によって定義されます。

例えば。 ZB_RCVBL_TRACKERとして、フィールドの構成以下の通りです。
PCN 、 ACCNO 、 TRANCD 、量、 LOB_TIMESTAMP
抽出され、後の行のテキストファイルに書き込まれます。私PCN 、 ACCNO 、 TRANCD 、 LOB_TIMESTAMPのテキストファイルのフィールドを取得し、クエリには値を渡す必要がある

どこからZB_RCVBL_TRACKER DELETEのPCN \u003d ?とACCNO \u003d ?とTRANCD \u003d ?とLOB_TIMESTAMP \u003d ?

SQLCODEは0ですが、私furthur進めることができます。

誰も私はこのタスクを達成するために役立てることができます。


コード:
==================================
#! /bin/ksh
############################
#   AFI Monitor Script
############################

. /db2/uszlad48/sqllib/db2profile
export mondir=/home/bmwdev1/script/krishna
export monlog=$mondir/Error_Report_`date +%Y%m%d`.log

export bakdir=/home/bmwdev1/script/krishna/bkup
export baklog=$bakdir/Error_Report_`date +%Y%m%d`_bkup.log

# connect to DB
#echo "connect to database r2pdev" >>$monlog

# extract the eligible rows from the table
db2 "SELECT * FROM ZB_RCVBL_TRACKER WHERE TIMESTAMP_UPDATED < (SYSDATE  1 YEAR)WITH UR"  >> $monlog
echo "After SQL execution" >> $monlog
==================================



Krishnakanth
  #2固定リンク)  
Old 2008年10月13日
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
シェルプログラマは、著者
  
 

参加日: 2007年3月
場所:トロント、カナダ
投稿数: 2369


コード:
while read PCN ACCNO TRANCD AMOUNT LOB_TIMESTAMP
do

   db2 "DELETE FROM ZB_RCVBL_TRACKER where PCN = $PCN and \
       ACCNO=$ACCNO and TRANCD = $TRANCD and LOB_TIMESTAMP = $LOB_TIMESTAMP" || break

done < "$FILE"

  #3固定リンク)  
Old 2008年10月14日
regnumber regnumber is offline
登録ユーザー
  
 

参加日: 2008年10月
投稿数: 9
ジョンソンご返信いただきありがとうございます。

ここでは、問題はいかにPCN 、 ACCNO 、 TRANCD 、量、 LOB_TIMESTAMPをテキストファイルから読み取ることです。予定としては、データをテキストファイルに以下の通りです。

引用:

9564587 111222333 563.85 2008 -10-01-00.00.00.000000西暦
9564588 111222334のAE 567.85 2008 -10-02-00.00.00.000000
9564589 111222335心房細動963.85 2008 -10-03-00.00.00.000000
9564590 111222336 AHの566.85 2008 -10-04-00.00.00.000000
このデータは、テキストファイル内の既存の生のデータです。各フィールドの長さは長さは固定されています。
それを行うようにすることは可能です以下のとおりです。
pcn 7バイトの1月7日から開始しています
accno 9バイト9月17日から開始しています
tran_cd 2バイト19 20から始めている
量の8バイトの22 〜 29日に開始しています
LOB_TIMESTAMP 26バイトの30 〜 55から始めている

このように定義することができますデータを通過します。その場合はシェルスクリプトをどのように定義するか?

私furthur続行する方法を教えてくださいでした。

Krishnakanth
  #4固定リンク)  
Old 2008年10月14日
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
シェルプログラマは、著者
  
 

参加日: 2007年3月
場所:トロント、カナダ
投稿数: 2369

投稿されたスクリプトを用いて何が悪いのか?
  #5固定リンク)  
Old 2008年10月14日
regnumber regnumber is offline
登録ユーザー
  
 

参加日: 2008年10月
投稿数: 9
ジョンソン、

このスクリプトは、正常に動作している。しかし、私の場合は、別の1つです。

私は今働いているサンプルを与えている。あなたに言ってみるよ、正確なものは、私が現在取り組んでいる。

以下は、テキストファイル内のデータです(のDB2 "を選択TRACKING_NUM 、 TRACKING_NUM_SUFFIX 、 ERROR_SRC_CD 、 MSG_NUM 、 MSG_ID 、 MSG_TYP 、 MSG_TEXT 、 TIMESTAMP_UPDATED 、 USER_UPDATEDからZB_RCBL_ERROR_MSG_MIGウル" > > $ monlog1 )

引用:
12345 10電子123 - - -こんにちは- -
12345 10メール- - -こんにちは- -
12345 10 - - -こんにちは- -
12345 10 T - - -こんにちは- -
1234 15 - - - -エラー- -
123456 10 - - - -エラー- -
123456 10 - - - -エラー- -
255678 200 - - - - ERRORCORRECTION - -
255678 200 - - - - ERRORCORRECTION - -
1111111111 10 - - - - - - -
7890 10 2008-08-11-06.53.12.924263 R2Pエラー90 78メールERRORMSG
12345 11 eadf j123 10メールこの2008-08-11-14.05.11.745265 emsg -
12345 11 eadf j123 10メールこの2008-08-12-09.39.38.886385 emsg -
12345 11 eadf j123 10メールこの2008-08-12-09.42.21.223536 emsg -
12345 11 eadf j123 10メールこの2008-08-12-09.48.57.911702 emsg -
12345 11 eadf j123 10メールこの2008-08-12-09.49.59.296360 emsg -
22345 11エラーj123 10メールこれはemsg 2008-08-12-10.08.33.843147ハローです
255679 25 - - - - - - -
902研究BEYJYWG83L 0 - Bシステム例外が発生しました、 BMW_EXCEPTION_LOGテーブルを参照してください2008-09-10-00.41.32.787352
902研究BEYJYXMT4K 0 - Bシステム例外が発生しました、 BMW_EXCEPTION_LOGテーブルを参照してください2008-09-11-19.01.23.878551
003研究BEYEHF93QY 0メッセージは表示されませんZBV_BILL_REJCT_RSNテーブルBに存在2008-08-28-16.31.01.881717
013 B研究BEYJYTT8FQ 0無効なトランザクションコード2008-09-04-17.39.04.005237
016 B無効BEYJYTT8FQ 0研究費コード2008-09-04-17.39.04.008137
016 B無効BEYJYTT8FQ 0研究費コード2008-09-04-17.39.04.011939
016 B無効BEYJYTT8FQ 0研究費コード2008-09-04-17.39.04.012851
003 B政策研究BEYJY2SZVL 0 /契約の口座番号を保留しているのは、 ZB_MASTER_DATA_LOG 2008-09-16-09.22.29.120192
003 B政策研究BEYJY2SXNG 0 /契約の口座番号を保留しているのは、 ZB_MASTER_DATA_LOG 2008-09-16-09.19.33.868772
003 B政策研究BEYJY2SMS3 0 /契約の口座番号を保留しているのは、 ZB_MASTER_DATA_LOG 2008-09-16-08.53.07.872138
003 B政策研究BEYJY2SMJD 0 /契約の口座番号を保留しているのは、 ZB_MASTER_DATA_LOG 2008-09-16-08.50.17.307262
003 B政策研究BEYJY2EG2K 0 /契約の口座番号を保留しているのは、 ZB_MASTER_DATA_LOG 2008-09-17-15.56.03.418917
002211556 0研究B同一の債権001トランザクションすでにこの政策を掲載している。 2008-09-19-01.41.01.454234
002211556 0 Rは期限2008-09-23-01.36.07.982876の002 B 1つまたは複数の未解決エラー債権
002211556 0 Rは期限2008-09-23-01.38.44.515880の002 B 1つまたは複数の未解決エラー債権
002211556 0研究B同一の債権001トランザクションすでにこの政策を掲載している。 2008-09-23-16.32.20.565704
6634583444 0研究902 - Jシステム例外が発生しました、 BMW_EXCEPTION_LOGテーブルを参照してください2008-09-15-12.44.09.383234

もし私が次のスクリプトを提供します。

引用:
中を読むTRACKING_NUM TRACKING_NUM_SUFFIX ERROR_SRC_CD MSG_NUM MSG_ID MSG_TYP MSG_TEXT TIMESTAMP_UPDATED USER_UPDATED
する

のDB2 "を選択TRACKING_NUM 、 TRACKING_NUM_SUFFIX 、 ERROR_SRC_CD 、 MSG_NUM 、 MSG_ID 、 MSG_TYP 、 MSG_TEXT 、 TIMESTAMP_UPDATED 、 USER_UPDATEDからZB_RCBL_ERROR_MSG_MIGのWHERE TRACKING_NUM \u003d $ TRACKING_NUMとTRACKING_NUM_SUFFIX \u003d $ TRACKING_NUM_SUFFIXとTIMESTAMP_UPDATED \u003d $ TIMESTAMP_UPDATEDウル" > > $ monlog2

実行< " $ファイル"
このスクリプトを与えていると、この場合には動作しません。 MSG_TEXTフィールドの値が同一の債権Bacause取引"のようなものですが、このポリシーを掲載している。 " 73バイト長。

どのように進んでいってくださいfurthur聞かせください。

Krishnakanth
  #6固定リンク)  
Old 2008年10月14日
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
シェルプログラマは、著者
  
 

参加日: 2007年3月
場所:トロント、カナダ
投稿数: 2369

以下のコードとサンプルデータの中に入れる[コード]のタグではなく、 [引用]タグ。

テストでは、スクリプトの代わりに、コマンドを実行してエコー。

コード:
echo db2 "SELECT TRACKING_NUM, TRACKING_NUM_SUFFIX, ERROR_SRC_CD, MSG_NUM, MSG_ID, MSG_TYP, MSG_TEXT, TIMESTAMP_UPDATED, USER_UPDATED FROM ZB_RCBL_ERROR_MSG_MIG WHERE TRACKING_NUM = $TRACKING_NUM AND TRACKING_NUM_SUFFIX = $TRACKING_NUM_SUFFIX AND TIMESTAMP_UPDATED = $TIMESTAMP_UPDATED WITH UR"

組み込まれていることを確認しますが、行を削除する前に正しいのです エコー
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 02:50午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0