The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Generisk Shell Script til Arkiv en fil mak1600 Shell programmering og Skripting 8 07-26-2008 09:51
script for purge JP003 Shell programmering og Skripting 1 07-11-2008 07:42
Arkiv Arkiv Script KeesH Shell programmering og Skripting 10 06-09-2008 12:11
gjør en arkiv script jimmyc Shell programmering og Skripting 1 09-15-2007 05:02
Les fra fil deretter purge eller arkiv. kayarsenal Shell programmering og Skripting 15 08-10-2006 09:24

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 10-13-2008
regnumber regnumber is offline
Registrert bruker
  
 

Bli Dato: Oct 2008
Innlegg: 9
shell script for arkiv purge

Jeg skriver et shell script for Arkiv Purge for tabellen har rader <1 år. The shell script er å trekke ut rader fra tabellen og skrive dem ut rader til en tekstfil. Så fra tekstfilen vil hver rader leses og slettes ved hjelp av slette søket én etter én. Feltene vil bli definert ved hjelp av posisjon.

For f.eks. ZB_RCVBL_TRACKER består av feltene som følger.
PCN, ACCNO, TRANCD, beløp, LOB_TIMESTAMP
Etter at radene er trukket ut og skrevet til en tekstfil. Jeg trenger å få felt PCN, ACCNO, TRANCD, LOB_TIMESTAMP fra tekstfilen og bestå disse verdiene til søket

Slett Fra ZB_RCVBL_TRACKER hvor PCN \u003d? og ACCNO \u003d? og TRANCD \u003d? og LOB_TIMESTAMP \u003d?

Hvis sqlcode er 0, kan jeg fortsette furthur.

Kan noen hjelpe meg å få denne oppgaven.

Code:
==================================
#! /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 (permalink)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmerer, forfatter
  
 

Bli Date: Mar 2007
Bosted: Toronto, Canada
Innlegg: 2361

Code:
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 (permalink)  
Old 10-14-2008
regnumber regnumber is offline
Registrert bruker
  
 

Bli Dato: Oct 2008
Innlegg: 9
Takk for svar Johnson.

Her er problemet hvordan å lese PCN, ACCNO, TRANCD, beløp, LOB_TIMESTAMP fra en tekstfil. Dataene vil bli som følger i tekstfilen.

Sitat:

9564587 111222333 AD 563,85 2008 -10-01-00.00.00.000000
9564588 111222334 AE 567,85 2008 -10-02-00.00.00.000000
9564589 111222335 AF 963,85 2008 -10-03-00.00.00.000000
9564590 111222336 AH 566,85 2008 -10-04-00.00.00.000000
Dataene finnes i en tekstfil er rådata. Lengden på hvert felt har fast lengde.
Er det mulig å gjøre som følger.
pcn er 7 byte fra 1 til 7
accno er 9 byte starter 9-17
tran_cd er 2 byte starter 19-20
beløpet er 8 byte starter 22-29
LOB_TIMESTAMP er 26 byte starter 30-55

kan vi definere som dette og vil passere data. I så fall hvordan du definerer i shell script?

Kan du fortelle meg vite hvordan du går frem furthur.

Krishnakanth
  #4 (permalink)  
Old 10-14-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmerer, forfatter
  
 

Bli Date: Mar 2007
Bosted: Toronto, Canada
Innlegg: 2361

Hva er galt med scriptet jeg postet?
  #5 (permalink)  
Old 10-14-2008
regnumber regnumber is offline
Registrert bruker
  
 

Bli Dato: Oct 2008
Innlegg: 9
Johnson,

Skriptet at du har gitt fungerer fint. Men i mitt tilfelle er det en annen.

Jeg har gitt utvalget hva jeg jobber nå. La meg gi deg en nøyaktig hva jeg arbeider for øyeblikket.

Dette er data i en tekstfil. (db2 "SELECT TRACKING_NUM, TRACKING_NUM_SUFFIX, ERROR_SRC_CD, MSG_NUM, MSG_ID, MSG_TYP, MSG_TEXT, TIMESTAMP_UPDATED, USER_UPDATED FRA ZB_RCBL_ERROR_MSG_MIG MED UR">> $ monlog1)

Sitat:
12345 10 E-123 - - - Hallo - --
12345 10 E - - - Hallo - --
12345 10 A - - - Hallo - --
12345 10 T - - - Hallo - --
1234 15 - - - - FEIL - --
123456 10 - - - - FEIL - --
123456 10 - - - - FEIL - --
255678 200 - - - - ERRORCORRECTION - --
255678 200 - - - - ERRORCORRECTION - --
1111111111 10 - - - - - - --
7890 10 ERRORMSG 90 78 E ERROR 2008-08-11-06.53.12.924263 R2P
12345 11 eadf j123 10 E dette er emsg 2008-08-11-14.05.11.745265 --
12345 11 eadf j123 10 E dette er emsg 2008-08-12-09.39.38.886385 --
12345 11 eadf j123 10 E dette er emsg 2008-08-12-09.42.21.223536 --
12345 11 eadf j123 10 E dette er emsg 2008-08-12-09.48.57.911702 --
12345 11 eadf j123 10 E dette er emsg 2008-08-12-09.49.59.296360 --
22345 11 feil j123 10 E dette er en emsg 2008-08-12-10.08.33.843147 hello
255679 25 - - - - - - --
BEYJYWG83L 0 R 902 - B System Unntak oppstod, vennligst referer til BMW_EXCEPTION_LOG tabellen 2008-09-10-00.41.32.787352
BEYJYXMT4K 0 R 902 - B System Unntak oppstod, vennligst referer til BMW_EXCEPTION_LOG tabellen 2008-09-11-19.01.23.878551
BEYEHF93QY 0 R 003 B Ingen melding eksisterer i ZBV_BILL_REJCT_RSN tabellen 2008-08-28-16.31.01.881717
BEYJYTT8FQ 0 R 013 B Ugyldig Transaksjonskode 2008-09-04-17.39.04.005237
BEYJYTT8FQ 0 R 016 B Ugyldig Fee Code 2008-09-04-17.39.04.008137
BEYJYTT8FQ 0 R 016 B Ugyldig Fee Code 2008-09-04-17.39.04.011939
BEYJYTT8FQ 0 R 016 B Ugyldig Fee Code 2008-09-04-17.39.04.012851
BEYJY2SZVL 0 R 003 B Policy / Contract kontonummer venter i ZB_MASTER_DATA_LOG 2008-09-16-09.22.29.120192
BEYJY2SXNG 0 R 003 B Policy / Contract kontonummer venter i ZB_MASTER_DATA_LOG 2008-09-16-09.19.33.868772
BEYJY2SMS3 0 R 003 B Policy / Contract kontonummer venter i ZB_MASTER_DATA_LOG 2008-09-16-08.53.07.872138
BEYJY2SMJD 0 R 003 B Policy / Contract kontonummer venter i ZB_MASTER_DATA_LOG 2008-09-16-08.50.17.307262
BEYJY2EG2K 0 R 003 B Policy / Contract kontonummer venter i ZB_MASTER_DATA_LOG 2008-09-17-15.56.03.418917
002211556 0 R 001 B Identiske Receivable transaksjonen har allerede lagt ut for denne politikken. 2008-09-19-01.41.01.454234
002211556 0 R 002 B Én eller flere uncleared errored fordringer for politikken 2008-09-23-01.36.07.982876
002211556 0 R 002 B Én eller flere uncleared errored fordringer for politikken 2008-09-23-01.38.44.515880
002211556 0 R 001 B Identiske Receivable transaksjonen har allerede lagt ut for denne politikken. 2008-09-23-16.32.20.565704
6634583444 0 R 902 - J System Unntak oppstod, vennligst referer til BMW_EXCEPTION_LOG tabellen 2008-09-15-12.44.09.383234

Hvis jeg gir følgende skript.

Sitat:
mens les TRACKING_NUM TRACKING_NUM_SUFFIX ERROR_SRC_CD MSG_NUM MSG_ID MSG_TYP MSG_TEXT TIMESTAMP_UPDATED USER_UPDATED
gjøre

db2 "SELECT TRACKING_NUM, TRACKING_NUM_SUFFIX, ERROR_SRC_CD, MSG_NUM, MSG_ID, MSG_TYP, MSG_TEXT, TIMESTAMP_UPDATED, USER_UPDATED FRA ZB_RCBL_ERROR_MSG_MIG WHERE TRACKING_NUM \u003d $ TRACKING_NUM OG TRACKING_NUM_SUFFIX \u003d $ TRACKING_NUM_SUFFIX OG TIMESTAMP_UPDATED \u003d $ TIMESTAMP_UPDATED MED UR">> $ monlog2

Ferdig < "$ file"
The script som du har gitt virker ikke i dette tilfellet. Bacause verdien i feltet MSG_TEXT er like "Identiske Receivable transaksjonen har allerede lagt ut for denne politikken." 73 bytes long.

Gi meg beskjed hvordan du går frem furthur.

Krishnakanth
  #6 (permalink)  
Old 10-14-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmerer, forfatter
  
 

Bli Date: Mar 2007
Bosted: Toronto, Canada
Innlegg: 2361

Vennligst la kode og eksempeldata innenfor [code], ikke [quote] tags.

Test skriptet ved ekko kommandoen i stedet for å utføre den.
Code:
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"
Sørg for at den linjen du har bygd er riktig før du fjerner ekko.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er PÃ¥
Smilefjes er PÃ¥
[IMG] koden PÃ¥
HTML-koden Av
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle klokkeslett er GMT -4. NÃ¥ er klokken 12:30.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0