Sponsored Content
Top Forums Shell Programming and Scripting Want to improve the performance of script Post 302497096 by methyl on Wednesday 16th of February 2011 10:13:44 AM
Old 02-16-2011
@carrucio
Quote:
grep -e "CustomCDRInterceptor" -e "$a" -e "$b" | cut ....
This does not match the requirement because "-e" just means "OR" and it will output all records which contain any one or more of the the three strings.

@poweroflinux
Though I still think that this needs to be a database program and based on your limited and inconsistent data sample, you can reduce the processing by using a workfile containing only the record type "CustomCDRInterceptor".
Also you need to "while read" $output in case there is more than one hit.
The whole script is dubious because of the chance of false hits.
I've left the "perl" alone because I don't know what it does and why the "awk" format is not enough (... unless it was dealing with multiple records in the same environment variable?). We really need to see representative data and required output and to know whether the order of the output is important.

Code:
grep "CustomCDRInterceptor" $2 > /tmp/workfile
awk -F"," '{print $1 , $2}' /tmp/workfile | \
while read a b
do
  grep "$a" /tmp/workfile | grep "$b" | cut -d"|" -f6 | awk -F"," '{print $4,",",$28,",",$27,",",$17,",",$12,","$21,",",$11,",",$26,",",$14,",",$6,",",$30,",",$31,",",$19,",",$5,",",$22,",",$10,",",$9,",",$20,",",$15,",",$29,",",substr($32,1,match($32,/\]/)-1),",",$23,",",$18,",",$24,",",$7,",",$13,",",$2,",",$25,",",$16,",",$8,",",$1,",",$3,","}' | while read output
   do
        #echo $output
        echo "$output" | perl -F, -lane 's/^\s*[- \w\[]+:(.*?)\s*$/$1/ foreach @F; print join ",", @F'
done

Depending on how big a workfile containing only "CustomCDRInterceptor" records becomes, there is potential to create a stuctured temporary file containing only relevant record types and relevant fields. Then to sort both this file and the search pattern file to a common order prior to running a single-pass match against 3500 records rather than running 3500 searches.
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. Shell Programming and Scripting

Improve the performance of a shell script

Hi Friends, I wrote the below shell script to generate a report on alert messages recieved on a day. But i for processing around 4500 lines (alerts) the script is taking aorund 30 minutes to process. Please help me to make it faster and improve the performace of the script. i would be very... (10 Replies)
Discussion started by: apsprabhu
10 Replies

6. 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

7. 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

8. 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

9. 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

10. 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
script(1)						      General Commands Manual							 script(1)

NAME
script - make typescript of terminal session SYNOPSIS
[file] DESCRIPTION
makes a typescript of everything printed on your terminal. It starts a shell named by the environment variable, or by default and silently records a copy of output to your terminal from that shell or its descendents, using a pseudo-terminal device (see pty(7)). All output is written to file, or appended to file if the option is given. If no file name is given, the output is saved in a file named The recording can be sent to a line printer later with lp(1), or reviewed safely with the option of cat(1). The recording ends when the forked shell exits (or the user ends the session by typing "exit") or the shell and all its descendents close the pseudo-terminal device. This program is useful when operating a CRT display and a hard-copy record of the dialog is desired. It can also be used for a simple form of session auditing. respects the convention for login shells as described in su(1), sh(1), and ksh(1). Thus, if it is invoked with a command name beginning with a hyphen (that is, passes a basename to the shell that is also preceded by a hyphen. The input flow control can be enabled by setting environmental variable before running Please see section for details on using this envi- ronment variable. EXAMPLES
Save everything printed on the user's screen into file Append a copy of everything printed to the user's screen to file WARNINGS
A command such as which displays the contents of the destination file, should not be issued while executing because it would cause to log the output of the command to itself until all available disk space is filled. Other commands, such as more(1), can cause the same problem but to a lesser degree. records all received output in the file, including typing errors, backspaces, and cursor motions. Note that it does not record typed char- acters; only echoed characters. Thus passwords are not recorded in the file. Responses other than simple echoes (such as output from screen-oriented editors and command editing) are recorded as they appeared in the original session. When there is no input flow control is not set), there can be some data loss while using However, script(1) can behave unexpectedly, if is set and is not set. AUTHOR
was developed by the University of California, Berkeley and HP. script(1)
All times are GMT -4. The time now is 07:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy