![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos! |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Ler csv em Hash array? | kinmak | Programação Shell Script e | 1 | 05-07-2008 11:35 |
| criar array de caracteres exploração sring then echo array. | rorey_breaker | Programação Shell Script e | 5 | 09-28-2007 09:42 |
| Do Arquivo de Array | Rock | Programação Shell Script e | 2 | 02-08-2007 06:10 |
| Despejo uma matriz em um arquivo | IMD | Programação Shell Script e | 3 | 08-31-2006 11:04 |
| Como posso ler elementos array dinamicamente em bash? | haisubbu | UNIX para Dummies Perguntas & Respostas | 1 | 08-29-2006 03:19 |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
||||
|
Como a leitura do arquivo txt e usar isso como um array
Oi Pessoal
U Como todos a fazer? Eu estou tendo tempo duro para alcançar este tenho um unix. Ksh script que apela script SQL Agora eu harcoded coluna id do script no SQL, mas eu quero lê-los a partir de um arquivo txt 1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081 Eu quero ler este arquivo como um array no meu script SQL Meu script é ksh #! / usr / bin / ksh Dirname \u003d `dirname $ 0` # Criar ambiente para oráculo baseado OMU dados exemplo . $ Dirname / defaults_env.ksh echo "Digite a região (ou seja, 001 ou 002):" leia sdzone; exportação userFile \u003d "cvsusers.txt" LOGFILE \u003d $ dirname / cvs_users_defaults.log TIME \u003d `date` # verifica se os arquivos de log está presente, se não, em seguida, cria-lo if [-a $ dirname / cvs_users_defaults.log] então : diferente touch $ dirname / cvs_users_defaults.log fi # Verificar para ver se um ficheiro de dados (cvsusers.txt) existe, para uma carga. if [-a $ dirname / $ userFile] então # A lista é fornecida a partir de userids userid arquivo INFILE \u003d $ userFile; echo "Utilizando $ INFILE arquivo como entrada para o usuário id"; echo ""; echo "Iniciando em $ HORÁRIO Process">> $ LOGFILE echo "Chamando procedimento para inicializar utilizadores" para userid em `cat $ INFILE» fazer echo "Armazenar usuário Predefinidos para o utilizador" $ userid>> $ LOGFILE userIdLength \u003d `expr $ comprimento userid` if [$ userIdLength-gt 8] então echo "Comprimento da UserID" $ userid "é demasiado longo">> $ LOGFILE diferente echo "para se conectar ao SQL">> $ LOGFILE if [[$ sdzone \u003d'001 ']], então sqlplus-s $ ZONE1_USERNAME_525 / $ ZONE1_PASSWRD_525 @ $ ZONE1_DBNAME_525 \ @ $ dirname / sql / cvs_users_defaults.sql $ userid>> LOGFILE echo "ligado ao SQL">> $ LOGFILE elif [[$ sdzone \u003d'002 ']], então sqlplus-s $ ZONE2_USERNAME_525 / $ ZONE2_PASSWRD_525 @ $ ZONE2_DBNAME_525 \ @ $ dirname / sql / cvs_users_defaults.sql $ userid>> LOGFILE echo "ligado ao SQL">> $ LOGFILE diferente echo "Invalid região código!" saída; fi fi feito # renomeia o arquivo, após transformação logtime \u003d `date" +% y% m% d% H% M% S "` newUserFile \u003d "cvs_users_processed_" $ logtime ". txt" mv $ userFile $ newUserFile echo "Terminar processo de configuração de usuário defaults em $ HORA">> $ LOGFILE echo "Verifique o arquivo de log em $ LOGFILE" exit 0 diferente # Se "custsoncologyusers.txt" arquivo não existe no final dirname então graciosamente echo "Nenhum arquivo padrão do usuário ($ userFile) está disponível para carregar" echo "Nenhum arquivo padrão do usuário ($ userFile) está disponível para carregar">> $ LOGFILE echo "Ending usuário padrão processo com um retorno de US $ HORÁRIO código 0">> $ LOGFILE exit 0 fi Este é o meu script SQL (cvs_users_defaults.sql) Sempre SQLERROR EXIT SQL.SQLCODE; serveroutput em conjunto; conjunto verificar descolagem; set feedback off; declarar userid s_user_cust_acct.user_id% TYPE: \u003d '& 1'; TABELA DE TIPO t_col_id_tab IS número; my_col_id t_col_id_tab; TABELA DE TIPO t_col_seq_num_tab IS número; my_col_seq_num t_col_seq_num_tab; TABELA DE TIPO t_all_col_id_tab IS número; all_col_id t_all_col_id_tab; tcount número; começo selecione contagem (*) em tcount a partir de s_column_atrb onde user_id \u003d UPPER (UserId) e screen_typ_cd \u003d 0; if (tcount> 0) THEN dbms_output.put_line ( 'actualização s_column_atrb' | | userid); - Para as encomendas (Eu rígido codificados da matriz aqui, mas eu quero ler a partir deste. Ksh script, alimentando-a com um arquivo 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); Para i in 1 .. 12 LOOP dbms_output.put_line ( 'my_col_id (' | | i | | ') é' | | my_col_id (i)); atualização s_column_atrb conjunto show_hide_ind \u003d 'Y', column_seq_num \u003d my_col_seq_num (i) onde user_id \u003d UPPER (UserId) e screen_typ_cd \u003d 0 e col_id \u003d my_col_id (i); END LOOP; fim; / saída qualquer órgão podem ajudar a obter este feito Thanks in advance Pinky |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|