Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Looping/Reading file contents not working Post 302764371 by gary_w on Thursday 31st of January 2013 11:46:48 AM
Old 01-31-2013
Try this method which starts one instance of SQL/Plus as a co-process. Eliminates the overhead of starting/stopping sqlplus for each database. Of course there is no error handling here but if you do some searching in the forums here you will find other examples.
Code:
 
$ cat xx
#!/bin/ksh
dbcontent=x.dat
echo "Enter userid"
read USERID
echo "Enter passwd:"
stty -echo
read -s PASSWD
stty echo
 
## Start sqlplus in a co-process.
sqlplus -S ${USERID}/${PASSWD} |&
 
## If an interrupt signal is received, close the co-process.
trap 'print -p "exit"' 0 2 3 9 15
 
## Read the list of databases a line at a time.
while read dbname
do
  ## Send commands to the co-process with print -p.
  print -p "connect ${USERID}/${PASSWD}@${dbname}"
  print -p "select ora_database_name from dual;"
  print -p "prompt my name is $USERID and my password is $PASSWD;"
  print -p "prompt DONE" # Indicates end of commands.
 
  ## Read all of the output from the above commands a line at a time into a variable
  ##  called "output".
  while read -p output
  do
     ## If DONE is read, we know we are at the end of expected output so move on.
     if [[ "$output" == "DONE" ]]; then
       break
     else
       print -- "$output"  # Otherwise, print the line to STDOUT.
     fi
  done
done < $dbcontent
 
## Close sqlplus.
print -p "exit;"
 
exit 0
$
$ ./xx
Enter userid
MYUSERNAME
Enter passwd:
<NUNYO_BUSINESS>
ORA_DATABASE_NAME
--------------------------------------------------------------------------------
DB1.WORLD
 
my name is MYUSERNAME and my password is NUNYO_BUSINESS
 
ORA_DATABASE_NAME
--------------------------------------------------------------------------------
DB2.WORLD
 
my name is MYUSERNAME and my password is NUNYO_BUSINESS
 
ORA_DATABASE_NAME
--------------------------------------------------------------------------------
DB3.WORLD
 
my name is MYUSERNAME and my password is NUNYO_BUSINESS
 
ORA_DATABASE_NAME
--------------------------------------------------------------------------------
DB4.WORLD
 
my name is MYUSERNAME and my password is NUNYO_BUSINESS
$

---------- Post updated at 11:46 AM ---------- Previous update was at 11:38 AM ----------

Quote:
Originally Posted by DBnixUser
That's interesting. I have the exact same script and it does not work for me. I am on HP-UX 11.31. I don't see any tweaks in your script. Where did you make the changes?
Curly braces around variable names.

Last edited by gary_w; 01-31-2013 at 12:52 PM.. Reason: added "--" arg to the print command so the dahsed line will print.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Reading specific contents from a file and appending it to another file

Hi, I need to write a shell script (ksh) to read contents starting at a specific location from one file and append the contents at specific location in another file. Please find below the contents of the source file that I need to read the contents from, File 1 -----# more... (5 Replies)
Discussion started by: dnicky
5 Replies

2. Shell Programming and Scripting

Reading and printing one by one contents of a file

I have a file which has following contents: localhost_IP_SIP_1233026552455.xml localhost_IP_SIP_1233026552460.xml localhost_IP_SIP_1233026552467.xml localhost_IP_SIP_1233026552759.xml localhost_IP_SIP_1233026552969.xml localhost_IP_SIP_1233026552975.xml ... (2 Replies)
Discussion started by: Aditya.Gurgaon
2 Replies

3. Shell Programming and Scripting

reading file,looping and limitation

I have 2 functions on AIX. Func_A () { .... .... } Func_B () { .... .... } And I have a abc.txt file (multiple lines) and I would like to read line by line and pass line by line to Func_A & Func_B. once Func_A is done,pass same value to Func_B and in the mean time get second line from... (5 Replies)
Discussion started by: Jang
5 Replies

4. Shell Programming and Scripting

Formatting Report and Reading data and fetching the details from contents file

Data I was trying to write shell script which will be return the output in the below format First i was trying to do these using sed. sed -n '/.ksh/p' mainksh.ksh sed -e 's/*\(.*\)/\1/g' mainksh.ksh $RUN_DIR, $SUB_DIR and the variables which will be defined in the profile file. when i am... (0 Replies)
Discussion started by: rameshds
0 Replies

5. Shell Programming and Scripting

While or For with looping contructs? to create files from contents of a text file

Hi so far I created this script: vi loop.beta.sh for i in `cat extract.filenames.tabc` do echo $i done>$i === This is the original text file. $ more tabc.txt -rwx------- 1 alice staff 1586 2010-11-05 02:27 request-key .conf -rwx------- 1 ted staff 126 ... (3 Replies)
Discussion started by: wolf@=NK
3 Replies

6. Shell Programming and Scripting

Reading file contents until a keyword

Hi Guys, I need to read a file until I find a blank line. and in the next iteration I want to continue reading from the line I find a keyword. For ex: my file looks like PDS_JOB_ALIAS CRITERIA_ITEM_TYPE PDS_JOB_CRITERIA_ITEM CRITERIA_ITEM_TYPE First I want to read the file... (2 Replies)
Discussion started by: infintenumbers
2 Replies

7. Shell Programming and Scripting

Reading the contents of the file and splitting using ksh

We're using a ksh script for installing one product. I've another config file, I'd need to read this configuration file from my main script Content of the Configuration file:... (2 Replies)
Discussion started by: bittu129
2 Replies

8. Shell Programming and Scripting

Need help with looping through file contents

Hi, I have a several files with ".out" extension in a folder and each file has the below like contents .... appname: wonder1 ..... logname78.log logname88.log ..... CAP: 2 ..... appname: wonder54 ...... logname28.log logname58.log logname54.log ..... CAP: 3 ..... (4 Replies)
Discussion started by: mohtashims
4 Replies

9. Emergency UNIX and Linux Support

sed replace file contents by reading from another file

Hello, My input file1 is like this by tab-delimited chr1 mm10_knownGene stop_codon 3216022 3216024 0.000000 - . gene_id "uc007aeu.1"; transcript_id "uc007aeu.1"; chr1 mm10_knownGene CDS 3216025 3216968 0.000000 - 2 gene_id "uc007aeu.1"; transcript_id "uc007aeu.1"; ... (3 Replies)
Discussion started by: jacobs.smith
3 Replies

10. Shell Programming and Scripting

ksh Script, Reading A File, Grepping A File Contents In Another File

So I'm stumped. First... APOLOGIES... my work is offline in an office that has zero internet connectivity, as required by our client. If need be, I could print out my script attempts and retype them here. But on the off chance... here goes. I have a text file (file_source) of terms, each line... (3 Replies)
Discussion started by: Brusimm
3 Replies
PASSWD.NNTP(5)							File Formats Manual						    PASSWD.NNTP(5)

NAME
passwd.nntp - passwords for connecting to remote NNTP servers DESCRIPTION
The file /etc/news/passwd.nntp contains host-name-password triplets for use when authenticating client programs to NNTP servers. This file is normally interpreted by the NNTPsendpassword routine in libinn(3). Blank lines and lines beginning with a number sign (``#'') are ignored. All other lines should consist of three or four fields separated by colons: host:name:password host:name:password:style The first field is the name of a host, and is matched in a case-insensitive manner. The second field is a user name, and the third is a password. The optional fourth field specifies the type of authentication to use. The default is ``authinfo'' which means that NNTP ``authinfo'' commands are used to authenticate to the remote host. If either the username or password are empty, then the related command will not be sent. (The ``authinfo'' command is a common extension to RFC 977.) For example: ## UUNET needs a password, MIT doesn't. mit.edu:bbn::authinfo uunet.uu.net:bbn:yoyoma:authinfo This file should not be world-readable. HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews. This is revision 1.14, dated 1996/09/06. SEE ALSO
innd(8), libinn(3). PASSWD.NNTP(5)
All times are GMT -4. The time now is 05:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy