two log file comparison and display if needed...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting two log file comparison and display if needed...
# 1  
Old 12-19-2008
two log file comparison and display if needed...

Hi All,

i've written script to collect the tablespaces and the datafiles related to each tablespaces with free space available and directed to two logfiles.. ( pasted below)

1. datafile_test.log
PSAPSR3
PSAPSR3700
PSAPSR3USR


2. freedata_test.log
/oracle/PJ1/sapdata3/sr3_14/sr3.data14 PSAPSR3 640
/oracle/PJ1/sapdata3/sr3_14/sr3.data14 PSAPSR3 114624
/oracle/PJ1/sapdata1/sr3700_1/sr3700.data1 PSAPSR3700 50112
/oracle/PJ1/sapdata1/sr3700_2/sr3700.data2 PSAPSR3700 33728
/oracle/PJ1/sapdata1/sr3700_3/sr3700.data3 PSAPSR3700 14272
/oracle/PJ1/sapdata1/sr3700_4/sr3700.data4 PSAPSR3700 17344
/oracle/PJ1/sapdata2/sr3700_5/sr3700.data5 PSAPSR3700 15296
/oracle/PJ1/sapdata2/sr3700_6/sr3700.data6 PSAPSR3700 256
/oracle/PJ1/sapdata2/sr3700_7/sr3700.data7 PSAPSR3700 1984
/oracle/PJ1/sapdata2/sr3700_8/sr3700.data8 PSAPSR3700 960
/oracle/PJ1/sapdata3/sr3700_10/sr3700.data10 PSAPSR3700 3008
/oracle/PJ1/sapdata3/sr3700_11/sr3700.data11 PSAPSR3700 960
/oracle/PJ1/sapdata3/sr3700_12/sr3700.data12 PSAPSR3700 960
/oracle/PJ1/sapdata3/sr3700_9/sr3700.data9 PSAPSR3700 960
/oracle/PJ1/sapdata4/sr3700_13/sr3700.data13 PSAPSR3700 6080
/oracle/PJ1/sapdata4/sr3700_14/sr3700.data14 PSAPSR3700 9152
/oracle/PJ1/sapdata4/sr3700_15/sr3700.data15 PSAPSR3700 30656
/oracle/PJ1/sapdata4/sr3700_16/sr3700.data16 PSAPSR3700 52160
/oracle/PJ1/sapdata1/sr3usr_1/sr3usr.data1 PSAPSR3USR 11968


Now i want to write a script which need to take the first tablespace name from log 1 and then grep that tablespace in log 2 and search if any of the datafile is having less than 6000 mb then "echo .." And then take second tablespace name from log 1 and repeat the same...


Any help is appreciated..
# 2  
Old 12-19-2008
Code:
grep -f datafile_test.log freedata_test.log| awk '$3 < 6000 {print $1}'

# 3  
Old 12-19-2008
Assuming your 3rd column is in MB.

awk '{ if (FNR==NR) { a[$2]+=$3; next } if (a[$1] < 6000) { print $1 } }' freedata_test.log datafile_test.log
# 4  
Old 12-19-2008
Use nawk or /usr/xpg4/bin/awk on Solaris.
I would do it all in sql though ...
Code:
awk 'NR == FNR { tbs[$1]; next }
$2 in tbs && $NF < 6000 {
  printf "tablespace %s, datafile %s has %d MB free\n",
    $2, $1, $NF
  }' datafile_test.log freedata_test.log

# 5  
Old 12-19-2008
Quote:
Originally Posted by manikantants
Assuming your 3rd column is in MB.

awk '{ if (FNR==NR) { a[$2]+=$3; next } if (a[$1] < 6000) { print $1 } }' freedata_test.log datafile_test.log
The OP said:

Quote:
search if any of the datafile is having less than 6000 mb
But, of course, your idea makes more sense.
# 6  
Old 12-19-2008
Thanks for the correction
# 7  
Old 12-20-2008
perl:

Code:
@arr=('PSAPSR3','PSAPSR3700','PSAPSR3USR');
open FH,"<a.txt";
while(<FH>){
	@_= split(" ",$_);
	map {tr/\n//d} @_;
	$_{$_[1]}.=$_ if ($_[2]<6000);
}
close FH;
for($i=0;$i<=$#arr;$i++){
	print $_{$arr[$i]},"\n";
}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help needed: script for timely average from log file

Please repost your query: Help needed: script for timely average from log file - Thank you. (0 Replies)
Discussion started by: mkfs
0 Replies

2. Shell Programming and Scripting

File Comparison: Print Lines not present in another file

Hi, I have fileA.txt like this. B01B02 D0011718 B01B03 D0012540 B01B04 D0006145 B01B05 D0004815 B01B06 D0012069 B01B07 D0004064 B01B08 D0011988 B01B09 D0012071 B01B10 D0005596 B01B11 D0011351 B01B12 D0004814 B01C01 D0011804 I want to compare this against another file (fileB.txt)... (3 Replies)
Discussion started by: genehunter
3 Replies

3. Shell Programming and Scripting

Help needed to extract distinct logs from a Log File

Hi, I urgently need some help how to extract distinct entries from a Log file. The Log File may have same error occuring many times so how do i count the occurance of an error in file and also extract out distinct errors in a file. Eg:- I have a file name A.log it contains entries as below:-... (5 Replies)
Discussion started by: roro
5 Replies

4. Shell Programming and Scripting

Event logging to file and display to console | tee command is not able to log all info.

My intention is to log the output to a file as well as it should be displayed on the console > I have used tee ( tee -a ${filename} ) command for this purpose. This is working as expected for first few outputs, after some event loggin nothing is gettting logged in to the file but It is displaying... (3 Replies)
Discussion started by: sanoop
3 Replies

5. OS X (Apple)

> or | log file to another network volume: help needed

My UNIX skills amount to "Google,Copy,Paste..." but I managed to get a useful log file generated by an automation system that runs 24/7. The log file exists on an Omneon Media Grid server where I monitor it via "tail -F /..." Unfortunately we have many workstations running Tiger 10.4.8 still and... (2 Replies)
Discussion started by: SolarDarkroom
2 Replies

6. Shell Programming and Scripting

help needed - log file monitoring script

hi Gurus, Need to pick your brains on this minor script project. I would like to continuously monitor a log file with sample log messages as below, and if PSOldGen percentage is either 99% or 100% for consecutively 10 times, alert someone. {Heap before gc invocations=46516: PSYoungGen ... (6 Replies)
Discussion started by: kenchen722
6 Replies

7. Shell Programming and Scripting

File Comparison

Hi i have 2 csv files a.csv and b.csv with the same number of columns and a list of values in both of it. Each and every individual value in both the files need to compared and if it matches then print correct in a new csv file otherwise print Incorrect eg a.csv 1,12/27/2007,Reward,$10.00... (5 Replies)
Discussion started by: naveenn08
5 Replies

8. UNIX for Dummies Questions & Answers

Awk help needed for display particular field alone for searching pattern

Hi, I have a requirement for taking an particular number in a log file. if i grep for the particular string it will retrieve the entire line for the particular string. but i want to display only the string from each line which i am searching for, Note: The searching field varies its position... (3 Replies)
Discussion started by: senthilkumar_ak
3 Replies

9. UNIX for Dummies Questions & Answers

file comparison...help needed.

Hello all, Can anyone help me with this. There are two files and I have to match the second file records with that of first and if matched, print the output in two fies, one containing the matched records and other containing the rest. Here is the example. File1 "111",erter,"00000", ... (4 Replies)
Discussion started by: er_ashu
4 Replies

10. Shell Programming and Scripting

Display lines of the file on a log

Hi, I am using the Korn shell script to display lines of the file. For example below: outputfile=test.dat -- display each line of the test.dat file abcd 345 adek 45566 dve3 34565 so on... I appreciate your time to find a command for displaying lines of the file on the log. ... (2 Replies)
Discussion started by: sbryant
2 Replies
Login or Register to Ask a Question