![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto! |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Leggi csv in Hash array? | kinmak | Shell scripting e di programmazione | 1 | 05-07-2008 10:35 AM |
| creare array di caratteri di partecipazione sring then echo array. | rorey_breaker | Shell scripting e di programmazione | 5 | 09-28-2007 08:42 AM |
| Da file di Array | Rock | Shell scripting e di programmazione | 2 | 02-08-2007 06:10 AM |
| Dump un array in un file | IMD | Shell scripting e di programmazione | 3 | 08-31-2006 10:04 AM |
| Come faccio a leggere array elementi dinamicamente in bash? | haisubbu | UNIX for Dummies Domande & Risposte | 1 | 08-29-2006 02:19 AM |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
||||
|
Come leggere dal file txt e l'uso che, come un array
Hi Guys
Come tutte le u doing? Ho il tempo duro per raggiungere questo ho un sistema Unix. Script ksh in cui si chiede script sql Id colonna di destra ora mi harcoded in script SQL, ma voglio leggere da un file txt 1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081 Voglio leggere questo file come un array nel mio script SQL Il mio script ksh è #! / usr / bin / ksh Dirname \u003d `dirname $ 0` # Istituito per l'ambiente Oracle basate istanza di database SMO . $ Dirname / defaults_env.ksh echo "Inserisci la regione (es. 001 o 002):" Leggi sdzone; userfile export \u003d "cvsusers.txt" LOGFILE \u003d $ dirname / cvs_users_defaults.log TIME \u003d `date` # controlli per vedere se il file di log è presente, se poi non si crea if [-a $ dirname / cvs_users_defaults.log] allora : altro toccare $ dirname / cvs_users_defaults.log fi # Controllo per vedere se un file di dati (cvsusers.txt) esiste per un carico. if [-a $ dirname / passwd] allora # L'elenco delle userids è fornito dal file userId Infile \u003d $ userfile; echo "Utilizzo di file $ INFILE come input per user id"; echo ""; echo "Avviato il processo di $ TEMPO">> $ LOGFILE echo "Calling procedura per inizializzare utenti" per userId in `cat $ INFILE` fare echo "Archiviazione Default User per l'utente" $ userid>> $ LOGFILE userIdLength \u003d `expr length $ userid` if [$ userIdLength-gt 8] allora echo "Lunghezza del UserID" $ userid "è troppo lungo">> $ LOGFILE altro echo "Connessione a SQL">> $ LOGFILE if [[$ sdzone \u003d '001 ']]; poi sqlplus-s $ ZONE1_USERNAME_525 / $ ZONE1_PASSWRD_525 @ $ ZONE1_DBNAME_525 \ @ $ dirname / sql / cvs_users_defaults.sql $ userid>> logfile echo "connesso a SQL">> $ LOGFILE elif [[$ sdzone \u003d 002 ']]; poi sqlplus-s $ ZONE2_USERNAME_525 / $ ZONE2_PASSWRD_525 @ $ ZONE2_DBNAME_525 \ @ $ dirname / sql / cvs_users_defaults.sql $ userid>> logfile echo "connesso a SQL">> $ LOGFILE altro echo "codice di regione non valido!" uscita; fi fi fatto # rinominare il file dopo la trasformazione logtime \u003d `date" +% Y% m% d% H% M% S "` newUserFile \u003d "cvs_users_processed_" $ logtime ". txt" mv $ $ userfile newUserFile echo "Ending processo di impostazione di default l'utente a $ TEMPO">> $ LOGFILE echo "Controllare il file di log da $ LOGFILE" exit 0 altro # Se "custsoncologyusers.txt" file non esiste in DIRNAME quindi fine con garbo echo "Nessun utente file predefinito ($ userfile) è disponibile a carico" echo "Nessun file di default degli utenti ($ userfile) è disponibile per caricare">> $ LOGFILE echo "Ending processo di default degli utenti con un codice di ritorno 0 a $ TIME">> $ LOGFILE exit 0 fi Questo è il mio script SQL (cvs_users_defaults.sql) QUANDO ESCI SQL.SQLCODE SQLError; serveroutput sul set; verificare insieme al largo; impostare commenti off; dichiarare userId TIPO% s_user_cust_acct.user_id: \u003d '& 1'; T_col_id_tab TIPO E TABELLA DEI numero; my_col_id t_col_id_tab; T_col_seq_num_tab TIPO E TABELLA DEI numero; my_col_seq_num t_col_seq_num_tab; T_all_col_id_tab TIPO E TABELLA DEI numero; all_col_id t_all_col_id_tab; tcount numero; iniziare select count (*) in tcount da s_column_atrb dove user_id \u003d UPPER (userid) e screen_typ_cd \u003d 0; if (tcount> 0) THEN s_column_atrb ( 'dbms_output.put_line aggiornamento' | | userid); - Per gli ordini (I hardcoded la matrice qui, ma voglio leggere da questo. Script ksh nutrendolo con un file txt) 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 | | ') è' | | my_col_id (i)); aggiornamento s_column_atrb set show_hide_ind \u003d 'Y', column_seq_num \u003d my_col_seq_num (i) dove user_id \u003d UPPER (userid) e screen_typ_cd \u003d 0 e col_id \u003d my_col_id (i); END LOOP; fine; / uscita qualsiasi organismo può aiutare a ottenere questo risultato Grazie in anticipo Pinky |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|