![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!! |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Lees csv in Hash array? | kinmak | Programmeren en Shell Scripting | 1 | 05-07-2008 11:35 |
| creëren array dat tekens uit sring vervolgens echo array. | rorey_breaker | Programmeren en Shell Scripting | 5 | 09-28-2007 09:42 |
| Uit bestand te Array | Rock | Programmeren en Shell Scripting | 2 | 02-08-2007 06:10 |
| Dump een array in een bestand | IMD | Programmeren en Shell Scripting | 3 | 08-31-2006 11:04 |
| Hoe kan ik lezen array elementen dynamisch in bash? | haisubbu | UNIX voor Dummies Questions & Answers | 1 | 08-29-2006 03:19 |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
||||
|
Hoe om te lezen van txt-bestand en gebruik dat als een array
Hi Guys
Hoe u all doing? Ik heb moeilijke tijd om dit Ik heb een unix bereiken. Ksh script waarin wordt opgeroepen sql-script Op dit moment ben harcoded kolom id's in SQL-script, maar ik wil om ze te lezen uit een txt-bestand 1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081 Ik wil dit bestand te lezen als een array in mijn sql script Mijn ksh script is #! / usr / bin / ksh Dirname \u003d dirname "$ 0" # Opgericht omgeving voor Oracle database op basis WIM bijvoorbeeld . $ Dirname / defaults_env.ksh echo "Voer de regio (dwz 001 of 002):" lees sdzone; export userfile \u003d "cvsusers.txt" LOGFILE \u003d $ dirname / cvs_users_defaults.log TIME \u003d `date` # controles om te zien of de log-bestanden aanwezig is, zo niet dan ontstaat er if [-a $ dirname / cvs_users_defaults.log] dan : anders touch $ dirname / cvs_users_defaults.log fi # Gecontroleerd om te zien of een data-bestand (cvsusers.txt) bestaat voor een last. if [-a $ dirname / $ userfile] dan # De lijst van userIds wordt geleverd door een userid bestand INFILE \u003d $ userfile; echo "Gebruik bestand $ INFILE als input voor user id"; echo ""; echo "Started proces op $ TIME">> $ LOGFILE echo "Calling procedure voor de gebruikers te initialiseren" voor userid in `cat $ INFILE` doen echo "opslaan Gebruiker Standaard voor gebruiker" $ userid>> $ LOGFILE userIdLength \u003d `expr length $ userid" if [$ userIdLength-gt 8] dan echo "Lengte van UserID" $ userid "is te lang">> $ LOGFILE anders echo "verbinding maken met SQL">> $ LOGFILE if [[$ sdzone \u003d '001 ']]; dan sqlplus-s $ ZONE1_USERNAME_525 / $ ZONE1_PASSWRD_525 @ $ ZONE1_DBNAME_525 \ @ $ dirname / sql / cvs_users_defaults.sql $ userid>> LOGFILE echo "aangesloten op SQL">> $ LOGFILE elif [[$ sdzone \u003d '002 ']]; dan sqlplus-s $ ZONE2_USERNAME_525 / $ ZONE2_PASSWRD_525 @ $ ZONE2_DBNAME_525 \ @ $ dirname / sql / cvs_users_defaults.sql $ userid>> LOGFILE echo "aangesloten op SQL">> $ LOGFILE anders echo "Ongeldige regio code!" exit; fi fi gedaan # Hernoem het bestand na verwerking logtime \u003d `date" +% Y% m% d% H% M% S "` newUserFile \u003d "cvs_users_processed_" $ logtime ". txt" mv $ $ userfile newUserFile echo "Einde proces van de oprichting gebruiker wanbetalingen op $ TIME">> $ LOGFILE echo "Check the log file op $ logfile" exit 0 anders # Als "custsoncologyusers.txt" bestand bestaat niet in dirname dan eind gracieus echo "Geen gebruiker standaard bestand ($ userfile) beschikbaar is voor belasting" echo "Geen gebruiker standaard bestand ($ userfile) beschikbaar is voor belasting">> $ LOGFILE echo "Ending gebruiker standaard proces met een return code 0 op $ TIME">> $ LOGFILE exit 0 fi Dit is mijn sql script (cvs_users_defaults.sql) WANNEER SQLError EXIT SQL.SQLCODE; ingesteld serveroutput op; ingesteld verifiëren uitgeschakeld; stellen feedback uitgeschakeld; verklaren userid s_user_cust_acct.user_id% TYPE: \u003d '& 1'; TYPE t_col_id_tab IS TABLE OF nummer; my_col_id t_col_id_tab; TYPE t_col_seq_num_tab IS TABLE OF nummer; my_col_seq_num t_col_seq_num_tab; TYPE t_all_col_id_tab IS TABLE OF nummer; all_col_id t_all_col_id_tab; tcount nummer; beginnen select count (*) in tcount van s_column_atrb waar user_id \u003d UPPER (userid) en screen_typ_cd \u003d 0; if (tcount> 0) THEN dbms_output.put_line ( 'bijwerking s_column_atrb' | | userid); - Voor Orders (Ik hard coded de array hier, maar ik wil dit lezen uit. Ksh script door het voeren met een txt-bestand) all_col_id: \u003d t_all_col_id_tab (1069,1071,1072,1073,1074,1075,1076,1077,1078,1080,1081,1082,1083,1084,1085,1086,108 7,1088,1089,1090,1091,1101, 1102,1103,1104,1114,1115,1116,1117,1118,1119,1120,1122,1123,1124,1125,112 6,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136 , 1137,1138,1139,1140,1141,1142,1143,1144,1145,114 6,1147,1148,1149,1150,1151,1152,1154,1169,1178,1182,1183,1195); my_col_id: \u003d t_col_id_tab (1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081); my_col_seq_num: \u003d t_col_seq_num_tab (4,12,2,6,7,8,10,1,9,3,5,11); For i in 1 .. 12 LOOP dbms_output.put_line ( 'my_col_id (' | | i | | ') is' | | my_col_id (i)); update s_column_atrb set show_hide_ind \u003d 'Y', column_seq_num \u003d my_col_seq_num (i) waar user_id \u003d UPPER (userid) en screen_typ_cd \u003d 0 en col_id \u003d my_col_id (i); END LOOP; einde; / afrit kan elk lichaam helpen om dit gedaan te krijgen Thanks in advance Pinky |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|