Sponsored Content
Full Discussion: Making script run faster
Top Forums Shell Programming and Scripting Making script run faster Post 302639299 by SkySmart on Friday 11th of May 2012 01:04:22 PM
Old 05-11-2012
Making script run faster

Can someone help me edit the below script to make it run faster?

Shell: bash
OS: Linux Red Hat

The point of the script is to grab entire chunks of information that concerns the service "MEMORY_CHECK".

For each chunk, the beginning starts with "service {", and ends with "}".

I should point out that the status.log file is about 25MB.

Code:
grep -Pnw "MEMORY_CHECK" /apps/status.log | while read line

do

        NUMP=$(echo $line | awk -F":" '{print $1}')

        BEGINNINGA=$NUMP

        BEGINNING=$(NUM=1

        while [ $NUM -lt 70 ]

        do

                VAL=$NUMP

                MINUSED=$(echo $VAL $NUM | awk '{print $1 - $2}')

                DEFOU=$(sed -n ${MINUSED}p /apps/status.log | grep -Pv "#" | grep -P "service {")

                if [ ! -z "$DEFOU" ] ; then

                        echo "${MINUSED}:$DEFOU" | awk -F":" '{print $1}'

                        break

                fi

                NUM=$(( $NUM + 1 ))

        done)

##############################

        END=$(NUM=1

        while [ $NUM -lt 70 ]

        do

                VAL=$NUMP

                MINUSED=$(echo $VAL $NUM | awk '{print $1 + $2}')

                DEFOU=$(sed -n ${MINUSED}p /apps/status.log | grep -Pv "#" | grep -P "}")

                if [ ! -z "$DEFOU" ] ; then

                        echo "${MINUSED}:$DEFOU" | awk -F":" '{print $1}'

                        break

                fi

                NUM=$(( $NUM + 1 ))

        done)


        echo "==================================================="
        echo ""

        BAD=$(sed -n ${BEGINNING},${END}p/apps/status.log  | egrep "CRITICAL:|UNKNOWN:")

        if [ ! -z "$BAD" ] ; then

                sed -n ${BEGINNING},${END}p /apps/status.log  | egrep "host_name=|check_command=|^plugin_output="

        fi

        echo ""
        echo "==================================================="

done


Last edited by SkySmart; 05-11-2012 at 02:29 PM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

making ssh run without password

Hello Everybody, Could anyone please tell me how to get ssh to work without asking for passwords? (i want to do a ssh <hostname> without getting a request for a password but getting connected straight away) I have attempted the following but to no avail :( ... I tried to generate a SSH... (5 Replies)
Discussion started by: rkap
5 Replies

2. UNIX for Advanced & Expert Users

Country Codes script faster response ;please help

Dear all I have group of input lines which look like this These input lines is placed in a file named phonelines.txt and there is a script which match $4 and $5 with country codes placed in another file named country-codes.txt and its contents is : Italy 39 Libyana 21892 Thuraya... (12 Replies)
Discussion started by: zanetti321
12 Replies

3. Shell Programming and Scripting

Can anyone make this script run faster?

One of our servers runs Solaris 8 and does not have "ls -lh" as a valid command. I wrote the following script to make the ls output easier to read and emulate "ls -lh" functionality. The script works, but it is slow when executed on a directory that contains a large number of files. Can anyone make... (10 Replies)
Discussion started by: shew01
10 Replies

4. UNIX for Advanced & Expert Users

Making things run faster

I am processing some terabytes of information on a computer having 8 processors (each with 4 cores) with a 16GB RAM and 5TB hard drive implemented as a RAID. The processing doesn't seem to be blazingly fast perhaps because of the IO limitation. I am basically running a perl script to read some... (13 Replies)
Discussion started by: Legend986
13 Replies

5. Shell Programming and Scripting

Script to parse a file faster

My example file is as given below: conn=1 uid=oracle conn=2 uid=db2 conn=3 uid=oracle conn=4 uid=hash conn=5 uid=skher conn=6 uid=oracle conn=7 uid=mpalkar conn=8 uid=anarke conn=1 op=-1 msgId=-1 - fd=104 slot=104 LDAPS connection from 10.10.5.6 to 10.18.6.5 conn=2 op=-1 msgId=-1 -... (7 Replies)
Discussion started by: sags007_99
7 Replies

6. Shell Programming and Scripting

Make script faster

Hi all, In bash scripting, I use to read files: cat $file | while read line; do ... doneHowever, it's a very slow way to read file line by line. E.g. In a file that has 3 columns, and less than 400 rows, like this: I run next script: cat $line | while read line; do ## Reads each... (10 Replies)
Discussion started by: AlbertGM
10 Replies

7. Shell Programming and Scripting

Making a faster alternative to a slow awk command

Hi, I have a large number of input files with two columns of numbers. For example: 83 1453 99 3255 99 8482 99 7372 83 175 I only wish to retain lines where the numbers fullfil two requirements. E.g: =83 1000<=<=2000 To do this I use the following... (10 Replies)
Discussion started by: s052866
10 Replies

8. Shell Programming and Scripting

Optimize shell script to run faster

data.file: contact { contact_name=royce-rolls modified_attributes=0 modified_host_attributes=0 modified_service_attributes=0 host_notification_period=24x7 service_notification_period=24x7 last_host_notification=0 last_service_notification=0 host_notifications_enabled=1... (8 Replies)
Discussion started by: SkySmart
8 Replies

9. Shell Programming and Scripting

Script works, but I think it could be better and faster

Hi All, I'm new to the forum and to bash scripting. I did some stuff with VB.net, Batch, and VBScripting in the past, but because I shifted over to Linux, I am learning to script in Bash at this moment. So bear with me if I seem to script like a newbie, that's just because I am ;-) OK, I... (9 Replies)
Discussion started by: cornelvis
9 Replies
TRACEROUTE(1)                                                      User Commands                                                     TRACEROUTE(1)

NAME
traceroute - Trace the route to a host SYNOPSIS
traceroute [OPTION...] HOST DESCRIPTION
Print the route packets trace to network host. -f, --first-hop=NUM Set initial hop distance, that is the time-to-live. -g, --gateways=GATES List of gateways for loose source routing. -I, --icmp Use ICMP ECHO as probe. -m, --max-hop=NUM Set maximal hop count (default is 64). -M, --type=METHOD Use METHOD (icmp or udp) for traceroute operations, defaulting to udp. -p, --port=PORT Use destination PORT port (default is 33434). -q, --tries=NUM Send NUM probe packets per hop (default is 3). --resolve-hostnames Resolve hostnames. -t, --tos=NUM Set type of service (TOS) to NUM. -w, --wait=NUM Wait NUM seconds for response (default is 3). -?, --help Give this help list. --usage Give a short usage message. -V, --version Print program version. GNU inetutils 2015-05-15 TRACEROUTE(1)
All times are GMT -4. The time now is 10:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy