The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > UNIX for Dummies Frågor & Svar
.
google unix.com



UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna!

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Läs csv i Hash array? kinmak Shell-programmering och Skript 1 05-07-2008 11:35
skapa array innehav tecken från sring sedan echo matris. rorey_breaker Shell-programmering och Skript 5 09-28-2007 09:42
Från fil till Array Rock Shell-programmering och Skript 2 02-08-2007 06:10
Dump en rad i en fil IMD Shell-programmering och Skript 3 08-31-2006 11:04
Hur kan jag läsa array element dynamiskt i bash? haisubbu UNIX for Dummies Frågor & Svar 1 08-29-2006 03:19

 
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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 10-05-2007
pinky pinky is offline
Registered User
  
 

Join Date: Jul 2007
Inlägg: 33
Hur man läser från txt-fil och använda den som en array

Hej Killar

How u all doing?

Jag har tuff tid för att uppnå detta har jag en unix. Ksh script som kräver
sql script

Just nu harcoded kolumn id's i SQL-script men jag vill läsa dem från en txt-fil
1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081

Jag vill läsa denna fil som en matris i min sql script


Min KSH skript



#! / usr / bin / ksh
DIRNAME \u003d "dirname $ 0"
# Inrätta miljö för Oracle-baserade SMO databas exempel
. $ Dirname / defaults_env.ksh

echo "Enter regionen (dvs. 001 eller 002):"
Läs sdzone;
export userfile \u003d "cvsusers.txt"
Logfile \u003d $ dirname / cvs_users_defaults.log
TIME \u003d `date`

# kontroller för att se om loggfilerna är närvarande, om inte så skapar det
if [-a $ dirname / cvs_users_defaults.log]
sedan
:
annan
touch $ dirname / cvs_users_defaults.log
fi

# Kontrollerar att se om en datafil (cvsusers.txt) finns för en belastning.
if [-a $ dirname / passwd]
sedan
# Listan över userIds levereras från användarid fil


INFILE \u003d $ username;
echo "Använda filen $ INFILE som underlag för användar-ID";
echo "";
echo "igång processen på $ TIME">> $ logfile
echo "Calling förfarande för att initiera användare"
för userid in `cat $ INFILE`
göra
echo "Lagring av användardata Defaults för användaren" $ userid>> $ logfile
userIdLength \u003d `expr längd $ userid`
if [$ userIdLength-gt 8]
sedan
echo "längd UserID" $ userid "är för lång">> $ logfile
annan
echo "Ansluta till SQL">> $ logfile

if [[$ sdzone \u003d '001 ']]; sedan
sqlplus-s $ ZONE1_USERNAME_525 / $ ZONE1_PASSWRD_525 @ $ ZONE1_DBNAME_525 \ @ $ dirname / SQL / cvs_users_defaults.sql $ userid>> loggfil
echo "Connected to SQL">> $ logfile


elif [[$ sdzone \u003d '002 ']]; sedan
sqlplus-s $ ZONE2_USERNAME_525 / $ ZONE2_PASSWRD_525 @ $ ZONE2_DBNAME_525 \ @ $ dirname / SQL / cvs_users_defaults.sql $ userid>> loggfil
echo "Connected to SQL">> $ logfile


annan
echo "Ogiltig regionskod!"
exit;
fi

fi
gjord


# byta namn på filen efter bearbetning
logtime \u003d `date" +% Y% m% d% H% M% S "`
newUserFile \u003d "cvs_users_processed_" $ logtime ". txt"
mv passwd $ newUserFile

echo "Avsluta process för att fastställa användarens uteblivna betalningar på $ TIME">> $ logfile
echo Check "loggfilen på $ logfile"
exit 0
annan
# IF "custsoncologyusers.txt" filen finns inte i dirname sedan avsluta värdigt
echo "Ingen användare default file ($ username) finns att ladda"
echo "Ingen användare default file ($ username) finns att ladda">> $ logfile
echo "Avsluta process användare standard med en avkastning kod 0 till $ TIME">> $ logfile
exit 0
fi


Detta är min SQL-script (cvs_users_defaults.sql)

NÄR SQLERROR EXIT SQL.SQLCODE;
uppsättning serveroutput på;
uppsättning kontrollera off;
uppsättning feedback off;

deklarera
userid s_user_cust_acct.user_id% TYPE: \u003d '& 1';
TYP t_col_id_tab IS TABLE OF nummer;
my_col_id t_col_id_tab;
TYP t_col_seq_num_tab IS TABLE OF nummer;
my_col_seq_num t_col_seq_num_tab;
TYP t_all_col_id_tab IS TABLE OF nummer;
all_col_id t_all_col_id_tab;
tcount nummer;
starta
SELECT COUNT (*)
i tcount
från s_column_atrb
där user_id \u003d UPPER (användarid)
och screen_typ_cd \u003d 0;
if (tcount> 0) THEN
dbms_output.put_line (uppdatering s_column_atrb '| | userid);

- För beställningar (Jag kodade hård kedjan här, men jag vill läsa detta från. Ksh script genom att mata den med en txt-fil)
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 | |') är '| | my_col_id (i));
update s_column_atrb
ställa show_hide_ind \u003d "Y", column_seq_num \u003d my_col_seq_num (i)
där user_id \u003d UPPER (användarid)
och screen_typ_cd \u003d 0
och col_id \u003d my_col_id (i);
END LOOP;
end;
/
exit


kan någon kropp hjälpa till att få detta gjort
Tack på förhand
Pinky
 

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 01:28.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0