Sponsored Content
Top Forums Shell Programming and Scripting Reading a file line by line and processing for each line Post 302293110 by sagarparadkar on Monday 2nd of March 2009 10:59:28 AM
Old 03-02-2009
Hi Derek and Johnson,

Thanks a lot for your inputs.

I tried playing around my code, and finally came up with the following version of code, which I found working. I am sure this version also can be optimized a lot further. The script gets the ORACLE_SID and ORACLE_HOME from oratab file to sid_home.txt file, both separated by a space character. I could have directly read the oratab file, but I didn't want to have trial and error of my script directly with that file.

cd /home/dba/utils/scripts/monitor
sed '/^#.*$/d' /var/opt/oracle/oratab | sed '/^[Cc]lient.*$/d' | sed '/^CRS.*$/d' | awk -F: '{print$1, $2;}' > sid_home.txt

while read LINE
do
ORACLE_SID=`echo ${LINE}|cut -d" " -f1`; export ORACLE_SID
ORACLE_HOME=`echo ${LINE}|cut -d" " -f2`; export ORACLE_HOME
DATE_TIME=`date +%m%d%y%a_%H%M`; export DATE_TIME
TSPALERT_LOG=tspalert_${ORACLE_SID}_${DATE_TIME}.log;export TSPALERTLOG
ORACLE_BASE=${ORACLE_HOME}; export ORACLE_BASE
ORACLE_BIN=${ORACLE_HOME}/bin; export ORACLE_BIN
LD_LIBRARY_PATH=/usr/openv/netbackup/bin:/usr/dt/lib:/usr/openwin/lib:/usr/local/lib:${ORACLE_HOME}/lib32
LD_LIBRARY_PATH_64=${ORACLE_HOME}/lib
ORACLE_DOC=${ORACLE_HOME}/orainst/doc
${ORACLE_HOME}/bin/sqlplus -s /nolog <<!eof 2>&1
connect / as sysdba;
set heading off
spool ${TSPALERT_LOG};
SELECT NAME FROM V\$DATABASE;
SELECT TO_CHAR(SYSDATE,'DD-MM-YYYY HH24:MI:SS') FROM DUAL;
SELECT TABLESPACE_NAME,SUM(BYTES)/1048576 MBUSED, SUM(MAXBYTES)/1048576 TOTALMB, SUM(BYTES)/SUM(MAXBYTES)*100 PERCENTUSED
FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME
HAVING SUM(BYTES)/SUM(MAXBYTES)*100 >= 80;
spool off
EXIT
!eof
done < sid_home.txt
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

KSH: Reading a file line by line into multiple arrays

Hi - I have a file that contains data in this format:- #comment value1 value2 value3 #comment value4 value5 value6 value7 #comment value8 value9 I need to read value1, value2 and value3 into one array, value4 value5 value6 and value7 into another array and value8 and value9 into a 3rd... (2 Replies)
Discussion started by: sniper57
2 Replies

2. Shell Programming and Scripting

reading a file inside awk and processing line by line

Hi Sorry to multipost. I am opening the new thread because the earlier threads head was misleading to my current doubt. and i am stuck. list=`cat /u/Test/programs`; psg "ServTest" | awk -v listawk=$list '{ cmd_name=($5 ~ /^/)? $9:$8 for(pgmname in listawk) ... (6 Replies)
Discussion started by: Anteus
6 Replies

3. Shell Programming and Scripting

[Solved] Problem in reading a file line by line till it reaches a white line

So, I want to read line-by-line a text file with unknown number of files.... So: a=1 b=1 while ; do b=`sed -n '$ap' test` a=`expr $a + 1` $here do something with b etc done the problem is that sed does not seem to recognise the $a, even when trying sed -n ' $a p' So, I cannot read... (3 Replies)
Discussion started by: hakermania
3 Replies

4. UNIX for Dummies Questions & Answers

Parsing file, reading each line to variable, evaluating date/time stamp of each line

So, the beginning of my script will cat & grep a file with the output directed to a new file. The data I have in this file needs to be parsed, read and evaluated. Basically, I need to identify the latest date/time stamp and then calculate whether or not it is within 15 minutes of the current... (1 Reply)
Discussion started by: hynesward
1 Replies

5. Shell Programming and Scripting

How to start reading from the nth line till the last line of a file.

Hi, For my reuirement, I have to read a file from the 2nd line till the last line<EOF>. Say, I have a file as test.txt, which as a header record in the first line followed by records in rest of the lines. for i in `cat test.txt` { echo $i } While doing the above loop, I have read... (5 Replies)
Discussion started by: machomaddy
5 Replies

6. Shell Programming and Scripting

Reading text file, comparing a value in a line, and placing only part of the line in a variable?

I need some help. I would like to read in a text file. Take a variable such as ROW-D-01, compare it to what's in one line in the text file such as PROD/VM/ROW-D-01 and only input PROD/VM into a variable without the /ROW-D-01. Is this possible? any help is appreciated. (2 Replies)
Discussion started by: xChristopher
2 Replies

7. Shell Programming and Scripting

Comparison of fields then increment a counter reading line by line in a file

Hi, i have a scenario were i should compare a few fields from each line then increment a variable based on that. Example file 989878|8999|Y|0|Y|N|V 989878|8999|Y|0|N|N|V 989878|8999|Y|2344|Y|N|V i have 3 conditions to check and increment a variable on every line condition 1 if ( $3... (4 Replies)
Discussion started by: selvankj
4 Replies

8. Shell Programming and Scripting

Reading line by line from live log file using while loop and considering only those lines start from

Hi, I want to read a live log file line by line and considering those line which start from time stamp; Below code I am using, which read line but throws an exception when comparing line that does not contain error code tail -F /logs/COMMON-ERROR.log | while read myline; do... (2 Replies)
Discussion started by: ketanraut
2 Replies

9. UNIX for Beginners Questions & Answers

Reading a file line by line and print required lines based on pattern

Hi All, i want to write a shell script read below file line by line and want to exclude the lines which contains empty value for MOUNTPOINT field. i am using centos 7 Operating system. want to read below file. # cat /tmp/d5 NAME="/dev/sda" TYPE="disk" SIZE="60G" OWNER="root"... (4 Replies)
Discussion started by: balu1234
4 Replies
lint(1B)					     SunOS/BSD Compatibility Package Commands						  lint(1B)

NAME
lint - C program verifier SYNOPSIS
/usr/ucb/lint [options] DESCRIPTION
/usr/ucb/lint is the interface to the BSD Compatibility Package C program verifier. It is a script that looks for the link /usr/ccs/bin/ucblint to the C program verifier. /usr/ccs/bin/ucblint is available only with the SPROcc package, whose default location is /opt/SUNWspro. /usr/ucb/lint is identical to /usr/ccs/bin/ucblint, except that BSD headers are used and BSD libraries are linked before base libraries. The /opt/SUNWspro/man/man1/lint.1 man page is available only with the SPROcc package. OPTIONS
/usr/ucb/lint accepts the same options as /usr/ccs/bin/ucblint, with the following exceptions: -Idir Search dir for included files whose names do not begin with a slash (/) prior to searching the usual directories. The directories for multiple -I options are searched in the order specified. The preprocessor first searches for #include files in the directory containing sourcefile, and then in directories named with -I options (if any), then /usr/ucbinclude, and finally, in /usr/include. -Ldir Add dir to the list of directories searched for libraries by /usr/ccs/bin/ucblint. This option is passed to /usr/ccs/bin/ld. Directories specified with this option are searched before /usr/ucblib and /usr/lib. -Y P, dir Change the default directory used for finding libraries. EXIT STATUS
The following exit values are returned: 0 Successful completion. >0 An error occurred. FILES
/usr/lint/bin/ld link editor /usr/lib/libc C library /usr/ucbinclude BSD Compatibility directory for header files /usr/ucblib BSD Compatibility directory for libraries /usr/ucblib/libucb BSD Compatibility C library /usr/lib/libsocket library containing socket routines /usr/lib/libnsl library containing network functions /usr/lib/libelf library containing routines to process ELF object files /usr/lib/libaio library containing asynchronous I/O routines ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscpu | +-----------------------------+-----------------------------+ SEE ALSO
ld(1), a.out(4), attributes(5) SunOS 5.10 1 Feb 1995 lint(1B)
All times are GMT -4. The time now is 05:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy