Sponsored Content
Homework and Emergencies Emergency UNIX and Linux Support Help to optimize script running time Post 302469147 by Corona688 on Thursday 4th of November 2010 10:09:04 PM
Old 11-04-2010
With an awk script that long it's hard to tell what you're doing.

If all you really want to do is count uses of the first column:

Code:
BEGIN { FS=";" }

{        if(length($0) > 0)
                count[$1]++;
}

END {
        for(keys in count)
                print keys ":" count[keys];
}

For your input data, this prints:
Code:
Zain500Disc:1
ZainEazy:1
ZainQuattro:1
Jaishana:1

---------- Post updated at 08:09 PM ---------- Previous update was at 07:48 PM ----------

It's hard to "optimize" huge amounts of logic since the slowdown may not be in one important place but in the logic itself. "optimizing" it means pretty much replacing it. Here I would use sort:

Code:
BEGIN { FS=";" ; count=1 ; cur=""; }

{
        if(length($0) > 0)
        {
                if(cur == $1)   count++;
                else
                {
                        if(length(cur) > 0)
                                print cur " had " count "\n";

                        cur=$1;         count=1;
                }

                print $0;
        }
}

END {   if(length(cur) > 0)     print cur " had " count "\n";   }

Code:
sort < input | awk -f count.awk

That way, you get your records already grouped and just have to count when things change.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

to compare latest logfile with the current running time of the script

how can i compare the latest log file with the current time.. consider i am running a script "a.sh" at 09:00 ( function of the script a.sh is to update the database ) this script is going to create logfile if the script is sucess in case of failure it is not going to create logfile.. ... (0 Replies)
Discussion started by: mail2sant
0 Replies

2. Shell Programming and Scripting

display time required to complete running script

hi is there any way i can display a countdown time needed to run a script? like load a counter at the beginning of the script with the estimated time and display the counter decrementing till it finishes running the script? (3 Replies)
Discussion started by: npatwardhan
3 Replies

3. Shell Programming and Scripting

Running batches of files at a time from a script

Hi I have a script that performs a process on a file. I want to know how to include a function to run a batch of files? Here is my script #!/bin/bash #---------------------------------------------------------------------------------------------------------------------- #This... (2 Replies)
Discussion started by: ladyAnne
2 Replies

4. Shell Programming and Scripting

Help in running a script after a particular time

Unix Gurus, I have a requirement where the shell script needs to do specific tasks after certain period of time. Daily we receive few files in a particular folder. The script does the file renaming, pass parameters to run some web services and pushes to remote FTP location. But my... (3 Replies)
Discussion started by: shankar1dada
3 Replies

5. Shell Programming and Scripting

How to know the exact running time of script!

Hi All, newbie here, I'm just wondering how can i know the exact running time of my script? Please advise, THanks, (1 Reply)
Discussion started by: nikki1200
1 Replies

6. Shell Programming and Scripting

Find the script running time and subtract from sleeptime

HI Guys, I want to find out the script running time and subtract from sleeptime. My Script Below Give me error :- #!/usr/bin/ksh timeout=100 start=$SECONDS sleep 20 end=$SECONDS echo "Time: $((end - start)) " ScTime = $((end - start)) (1 Reply)
Discussion started by: asavaliya
1 Replies

7. Shell Programming and Scripting

Setting time for running of the script

Dear all, I wonder if it is possible that we can run the script from time to time..I meant, it should repeat the sourcing of the script by itself? In my case, I need to source this script manually from time to time, like once in every 10 minutes. emily, (2 Replies)
Discussion started by: emily
2 Replies

8. Shell Programming and Scripting

Example of running script with time limits?

Hi, I want to write a script that does some sort of health check on the database. It will query the database for information, some query takes long and some are quick. For example, inside the script I will do something as below: #!/bin/ksh run_query_01 & run_query_02 &... (1 Reply)
Discussion started by: newbie_01
1 Replies

9. Shell Programming and Scripting

Kill long running script, if it crosses the threshold time

Hi, I need a script to kill the process if it running for long time. Inputs for the scripts: 1.test.sh (will be running fron cron scheduler) 2.1 hr (ie threshold_time - if the test.sh is running for more than 1 hr test.sh has to kill) Thanks, Divya (1 Reply)
Discussion started by: Divya Nochiyil
1 Replies

10. Shell Programming and Scripting

Killing the process if running for long time in script

I am running a script which will read the data from fail line by line and call the Java program by providing the arguments from the each line. The Java code is working fast for few records and for some records its getting hanged not providing response for morethan one hour. Currently am... (4 Replies)
Discussion started by: dineshaila
4 Replies
XkbFreeGeomOverlayKeys(3)					   XKB FUNCTIONS					 XkbFreeGeomOverlayKeys(3)

NAME
XkbFreeGeomOverlayKeys - Free keys in an overlay row SYNOPSIS
void XkbFreeGeomOverlayKeys (XkbRowPtr row, int first, int count, Bool free_all); ARGUMENTS
- row row in which keys should be freed - first first key to be freed - count number of keys to be freed - free_all True => all keys are freed DESCRIPTION
Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify key- board geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase sz_* but never touch num_* (unless there is an allocation failure, in which case they reset both sz_* and num_* to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected. If free_all is True, all keys are freed regardless of the value of first and count. Otherwise, the number of keys specified by count are freed, beginning with the key specified by first in the specified row. RETURN VALUES
Success The XkbFreeGeomOverlayKeys function returns Success if there are no allocation or argument errors. DIAGNOSTICS
BadAlloc Unable to allocate storage BadValue An argument is out of range X Version 11 libX11 1.5.0 XkbFreeGeomOverlayKeys(3)
All times are GMT -4. The time now is 09:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy