Improving code


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Improving code
# 8  
Old 02-06-2017
Certainly, we're not here to put you in "digital pillory". On the other hand, wouldn't it be nice and satisfying to see some learning curve?
However, see if this comes close to what you need although it saves 12 awk processes, 5 temp files, 18 file operations, and 7 readings of lengthy files:
Code:
awk '
NR > 1          {DS = int( sqrt ( ($6 - PRV6) ^2 + ($7 - PRV7) ^2) / 1E3 )
                 DT = int( ($8 - PRV8) / 1E6 )
                }

                {PRV6 = $6
                 PRV7 = $7
                 PRV8 = $8
                }

DT >= 18        {CNTDT++
                 next
                }

DS  > 11        {CNTSS++
                 next
                }

DS >=  2        {CNTDS++
                }

END             {SUM = ++CNTDT + CNTSS + CNTDS
                 LNS = "\t-------------------------------------------\n"
                 FMT = "\t%-15s\t%9d\t%8.1f\n"

                 printf LNS "\tCode \t           Total-VPs \t  Total-PCT\n" LNS

                 printf (FMT, "INFO1:", CNTDT, CNTDT / SUM * 100)
                 printf (FMT, "INFO2:", CNTDS, CNTDS / SUM * 100)
                 printf (FMT, "INFO3:", CNTSS, CNTSS / SUM * 100)

                 printf LNS "\tTotal:\t%17d\n" LNS , SUM


                }
' /tmp/tmp1
    -------------------------------------------
    Code                Total-VPs       Total-PCT
    -------------------------------------------
    INFO1:                    85         0.5
    INFO2:                 11151        66.7
    INFO3:                  5481        32.8
    -------------------------------------------
    Total:                16717
    -------------------------------------------

This User Gave Thanks to RudiC For This Post:
# 9  
Old 02-06-2017
Dear RudiC

As always you are great.. thanks a lot .

I will do my best to improve.

Thanks again for your help
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need help improving my script.

Thank you for taking the time to look at this and provide input. To start, I am not a linux/unix expert but I muddle through the best I can. I am also in no way shape or form a programmer. Please keep that in mind as you read this script. This script is designed to find all files in a given... (8 Replies)
Discussion started by: garlandxj11
8 Replies

2. Shell Programming and Scripting

Basic help improving for in loop

I'm obviously very new to this. I'm trying to write a simple for loop that will read the directory names in /Users and then copy a file into the same subdir in each user directory. I have this, and it works but it isn't great. #!/bin/bash HOMEDIRS=/Users/* for dirs in $HOMEDIRS; do if ];... (5 Replies)
Discussion started by: Heath_T
5 Replies

3. Shell Programming and Scripting

Improving code by using associative arrays

I have the following code, and I am changing it to #!/bin/bash hasArgumentCModInfile=0 hasArgumentSrcsInfile=0 hasArgumentRcvsInfile=0 OLDIFS="$IFS" IFS="|=" # IFS controls splitting. Split on "|" and "=", not whitespace. set -- $* # Set the positional... (3 Replies)
Discussion started by: kristinu
3 Replies

4. Shell Programming and Scripting

Improving this validate function

Hi guys, I use this function which was provided to me by someone at this site. It works perfectly for validating a users input option against allowed options.. example: validateInput "1" "1 3 4 5" would return 0 (success) function validateInput { input=$1 allowedInput=$2 for... (4 Replies)
Discussion started by: pyscho
4 Replies

5. UNIX for Dummies Questions & Answers

Improving Unix Skills

Kindly any advice to improve my unix skills as electronic books i can download or valuable sites as this one etc... (3 Replies)
Discussion started by: sak900354
3 Replies

6. Shell Programming and Scripting

improving my script

Hi; I want to access our customer database to retreive all clients that have as language index 2 or 3 and take their client number. My input is a file containing all client numbers. i access the data base using a function call "scpshow". The total number of clients i want to scan is 400 000... (6 Replies)
Discussion started by: bcheaib
6 Replies
Login or Register to Ask a Question