Improve the performance of a shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Improve the performance of a shell script
# 8  
Old 04-09-2010
And chihung's shell solution can be extended further to match the report output -

Code:
$
$
$ cat -n alert.log
     1  ERROR (19:58:50,781 ERROR Thread-37-RunnerPool-Fast RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
     2  ERROR (19:45:40,529 ERROR Thread-26-RunnerPool-Std RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
     3  ERROR (01:31:24,073 ERROR Thread-214 STAbstractComputable.getComputeResult:114 Cycle detected at com.sample.es.calcrules.newstyle.Rul...taHolder@12345, key=rules|APS   .Q, subject=APS   .Q, , rule=com.sample.es
     4  ERROR (01:31:24,073 ERROR Thread-214 STAbstractComputable.getComputeResult:114 Cycle detected at com.sample.es.calcrules.newstyle.Rul...taHolder@12345, key=rules|APS   .Q, subject=APS   .Q, , rule=com.sample.es
     5  ERROR (01:31:24,073 ERROR Thread-214 STAbstractComputable.getComputeResult:114 Cycle detected at com.sample.es.calcrules.newstyle.Rul...taHolder@12345, key=rules|APS   .Q, subject=APS   .Q, , rule=com.sample.es
     6  ERROR (19:58:50,781 ERROR Thread-37-RunnerPool-Fast RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
     7  ERROR (19:45:40,529 ERROR Thread-26-RunnerPool-Std RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
     8  ERROR (19:45:40,529 ERROR Thread-26-RunnerPool-Std RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
     9  ERROR (19:45:40,529 ERROR Thread-26-RunnerPool-Std RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
$
$
$ sort alert.log | uniq -c | while read num text; do printf "$text\nALERTS MATCHED: $num\n"; done
ERROR (01:31:24,073 ERROR Thread-214 STAbstractComputable.getComputeResult:114 Cycle detected at com.sample.es.calcrules.newstyle.Rul...taHolder@12345, key=rules|APS   .Q, subject=APS   .Q, , rule=com.sample.es
ALERTS MATCHED: 3
ERROR (19:45:40,529 ERROR Thread-26-RunnerPool-Std RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
ALERTS MATCHED: 4
ERROR (19:58:50,781 ERROR Thread-37-RunnerPool-Fast RamPricingQueryRunner.run:493 Got exception parsing VAN query result for product [APS   .Q])
ALERTS MATCHED: 2
$
$

I gave up after reading the first 10 lines of the OP's script, but I guess this is what it's trying to do.

tyler_durden
# 9  
Old 04-09-2010
I think the O/P is trying to match the messages BUT ignoring some of the message such as perhaps the timestamp. The original script tests for a percentage match in words in the message which is a bit too fuzzy for me.

We await the O/Ps definition of a "match".
# 10  
Old 04-11-2010
Hi All,

apologies if my post is unclear....

Let me explain you.

My alert.log will contain 1000's of error messages. among them only very few will be exactly same. But 50-100 alerts may have the more or less same pattern (matches 75% of the words in a line). So i want to consider not only the exactly matching lines, but also the 75% words matching alerts as matched alerts.

Code:
Example:

The 2-3 of the below lines matches exactly, but other lines too matches but at least 75%. so i consider all the below lines as matched lines. Hope now i'm clear :)


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.
Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

Shell Programming Post questions about KSH, BASH, PERL, PHP, SED, AWK and OTHER shell scripting languages here.

Shell Scripting Post questions about , SH, BASH, PERL, PHP, SED, OTHER shell scripts and shell scripting here.

Shell Programming and Scripting about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and  scripting languages here.

Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.



---------- Post updated at 06:38 AM ---------- Previous update was at 06:33 AM ----------

as my error messages won't match exactly, i could not use sort -c command. as at least 75% of the words matching, i'm comparing them word by word (for loop). i agree as there are 1000's of lines in the alert.log, the while and for loops may execute millions of times, hence i have approached you experts for the better solution.

the inner while and outer while loops use the same file. for my convenience i have renamed them as 2 different files.
# 11  
Old 04-12-2010
Lateral though. If we correct and enhance your "tr" command to remove all awkward characters one sample message comes out as:

Code:
ERROR 19 45 40 529 ERROR Thread 26 RunnerPool Std RamPricingQueryRunner run 493 Got exception parsing VAN query result for product APS Q

If we ignore the portion in red, does the rest of the message constitute a "match?
For that matter is the "493" just an error message number which would be good enough for a "match"?

Code:
The enhanced "tr" is:
tr '\-[]():.,' '       '|tr -s '[:space:]'
Note that there are no space characters in the first string.

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script search, improve performance with large files

Hello, For several of our scripts we are using awk to search patterns in files with data from other files. This works almost perfectly except that it takes ages to run on larger files. I am wondering if there is a way to speed up this process or have something else that is quicker with the... (15 Replies)
Discussion started by: SDohmen
15 Replies

2. Programming

Improve the performance of my C++ code

Hello, Attached is my very simple C++ code to remove any substrings (DNA sequence) of each other, i.e. any redundant sequence is removed to get unique sequences. Similar to sort | uniq command except there is reverse-complementary for DNA sequence. The program runs well with small dataset, but... (11 Replies)
Discussion started by: yifangt
11 Replies

3. UNIX for Dummies Questions & Answers

How to improve the performance of this script?

Hi , i wrote a script to convert dates to the formate i want .it works fine but the conversion is tkaing lot of time . Can some one help me tweek this script #!/bin/bash file=$1 ofile=$2 cp $file $ofile mydates=$(grep -Po '+/+/+' $ofile) # gets 8/1/13 mydates=$(echo "$mydates" | sort |... (5 Replies)
Discussion started by: vikatakavi
5 Replies

4. Programming

Help with improve the performance of grep

Input file: #content_1 12314345345 242467 #content_14 436677645 576577657 #content_100 3425546 56 #content_12 243254546 1232454 . . Reference file: content_100 (1 Reply)
Discussion started by: cpp_beginner
1 Replies

5. Shell Programming and Scripting

How to improve the performance of parsers in Perl?

Hi, I have around one lakh records. I have used XML for the creation of the data. I have used these 2 Perl modules. use XML::DOM; use XML::LibXML; The data will loo like this and most it is textual entries. <eid>19000</eid> <einfo>This is the ..........</einfo> ......... (3 Replies)
Discussion started by: vanitham
3 Replies

6. Shell Programming and Scripting

Want to improve the performance of script

Hi All, I have written a script as follows which is taking lot of time in executing/searching only 3500 records taken as input from one file in log file of 12 GB Approximately. Working of script is read the csv file as an input having 2 arguments which are transaction_id,mobile_number and search... (6 Replies)
Discussion started by: poweroflinux
6 Replies

7. Shell Programming and Scripting

Any way to improve performance of this script

I have a data file of 2 gig I need to do all these, but its taking hours, any where i can improve performance, thanks a lot #!/usr/bin/ksh echo TIMESTAMP="$(date +'_%y-%m-%d.%H-%M-%S')" function showHelp { cat << EOF >&2 syntax extreme.sh FILENAME Specify filename to parse EOF... (3 Replies)
Discussion started by: sirababu
3 Replies

8. UNIX for Dummies Questions & Answers

Improve Performance

hi someone tell me which ways i can improve disk I/O and system process performance.kindly refer some commands so i can do it on my test machine.thanks, Mazhar (2 Replies)
Discussion started by: mazhar99
2 Replies

9. Shell Programming and Scripting

How to improve grep performance...

Hi All, I am using grep command to find string "abc" in one file . content of file is *********** abc = xyz def= lmn ************ i have given the below mentioned command to redirect the output to tmp file grep abc file | sort -u | awk '{print #3}' > out_file Then i am searching... (2 Replies)
Discussion started by: pooga17
2 Replies

10. UNIX for Advanced & Expert Users

improve performance by using ls better than find

Hi , i'm searching for files over many Aix servers with rsh command using this request : find /dir1 -name '*.' -exec ls {} \; and then count them with "wc" but i would improve this search because it's too long and replace directly find with ls command but "ls *. " doesn't work. and... (3 Replies)
Discussion started by: Nicol
3 Replies
Login or Register to Ask a Question