Calculate the performance of employee


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Calculate the performance of employee
# 15  
Old 08-12-2019
I think its not getting sorted properly

Code:
{ read; echo $REPLY; sort -t"|" -k7bg; } </tmp/salary.txt
EMPNAME | SALARY | Q1 | Q2 | Q3 | Q4 | Avg Q | Expected Sal | Incremented Sal | Performance |
Ron | 54980 | 3 | 2 | 4 | 1 | 2.50 | 56354.50 | 1374.50 | ON TRACK |
Lim | 87900 | 6 | 7 | 5 | 4 | 5.50 | 92734.50 | 4834.50 | AVG |
Bred | 67000 | 7 | 8 | 5 | 6 | 6.50 | 71355.00 | 4355.00 | AVG |

Code:
Expected would be sorted like below based on Avg Q
Bred
Lim
Ron

Instead can we get a proper tabular form instead of pipe which is getting confused. Ignore the spaces i took from Excel table but some how not able to make it proper tabular form
Code:
EMPNAME	SALARY	Q1	Q2	Q3	Q4	Avg	Expected Sal	Incremented Sal	Performance
Ron	54980	3	2	4	1	2.5	56354.5	1374.5	ON TRACK
Lim	87900	6	7	5	4	5.5	92734.5	4834.5	AVG
Bred	67000	7	8	5	6	6.5	71355	4355	AVG


Last edited by rohit_shinez; 08-12-2019 at 01:21 AM..
# 16  
Old 08-12-2019
Quote:
Originally Posted by rohit_shinez
I think its not getting sorted properly
I think it is sorted properly as sort has been told. If you want the result in descending order, use the -r (reverse) flag.


Quote:
Ignore the spaces i took from Excel table but some how not able to make it proper tabular form
How about

Code:
{ read; echo $REPLY; sort -t"|" -k7bgr; } </tmp/salary.txt | tr "|" "\t" | column -ts"   "
EMPNAME    SALARY    Q1    Q2    Q3    Q4    Avg Q    Expected Sal    Incremented Sal    Performance 
Bred       67000     7     8     5     6     6.50     71355.00        4355.00            AVG 
Lim        87900     6     7     5     4     5.50     92734.50        4834.50            AVG 
Ron        54980     3     2     4     1     2.50     56354.50        1374.50            ON TRACK

These 2 Users Gave Thanks to RudiC For This Post:
# 17  
Old 08-12-2019
As an addendum the 'bash' code works inside 'dash' too, without alteration except the shebang to point to 'dash' so therefore it is POSIX compliant...
In this case Linux Mint #!/bin/dash , and in my MBP OSX 10.14.3 Terminal, #!/usr/local/bin/dash ...
# 18  
Old 01-10-2020
percentage calculation

Smilie Thank you for your answer. it helpful for me

Use Online Percentage Calculator.
w3percentagecalculator is free online accurate percentage calculator...

Last edited by smk-developer; 01-20-2020 at 08:26 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Employee records

If there are 2 records for an Employee, How can I choose the one with eff_status = ‘Active' and ignore the eff_status ='Terminated'. if there is only one record, then just write that record regardless of the eff_status. Please assist. (1 Reply)
Discussion started by: Harimalyala
1 Replies

2. UNIX for Dummies Questions & Answers

Calculate

i have file input abcedef|wert|13|03|10|04|23|A1|13|05|01|09|31 fsdasdf|ferg|12|04|25|21|21|A1|13|02|26|20|31 dfsfsad|gerg|12|04|25|21|21|A1|13|02|25|25|31 i expect the output abcedef|wert|13|03|10|04|23|A1|13|05|01|09|31|9.516666667... (5 Replies)
Discussion started by: radius
5 Replies

3. Shell Programming and Scripting

Calculate age of a file | calculate time difference

Hello, I'm trying to create a shell script (#!/bin/sh) which should tell me the age of a file in minutes... I have a process, which delivers me all 15 minutes a new file and I want to have a monitoring script, which sends me an email, if the present file is older than 20 minutes. To do... (10 Replies)
Discussion started by: worm
10 Replies

4. Shell Programming and Scripting

How To Calculate

I have 2 variables in my shell scripts in which i am using awk and calculating 2 files and getting 2 different variable called in_total and out_total. I want to subtract one variable from another so plz tell me how i can do that. Example is: cat in_file | awk -F: '{ in_total += $1 * 86400... (3 Replies)
Discussion started by: krishna_sicsr
3 Replies

5. Shell Programming and Scripting

How can i calculate percentage ??

i have 3 files like total.dat=18 equal.dat=14 notequal.dat=16 i need find the equal percentange means: equalpercentage = ($equal.dat / $total.dat * 100) How i can do this ? I tried some of the answers to calculate the percentage in this forums.but it couldn't worked.Some one please... (6 Replies)
Discussion started by: bobprabhu
6 Replies

6. Shell Programming and Scripting

calculate the space

Hi everyone, I need to write a script to calculate the space for sub-folders under /home: Here is the scanrio: cd /home drwxr-xr-x 57 root root 8192 Jan 22 16:13 home_1 drwxrwxrwx 69 root root 8192 Jan 29 10:36 home_2 drwxr-xr-x 97 root root 8192 Nov... (8 Replies)
Discussion started by: za_7565
8 Replies

7. News, Links, Events and Announcements

Announcing collectl - new performance linux performance monitor

About 4 years ago I wrote this tool inspired by Rob Urban's collect tool for DEC's Tru64 Unix. What makes this tool as different as collect was in its day is its ability to run at a low overhead and collect tons of stuff. I've expanded the general concept and even include data not available in... (0 Replies)
Discussion started by: MarkSeger
0 Replies

8. Shell Programming and Scripting

calculate output

I was wondering can anyone give me a clue how to start script which would do the following: I have 2 numbers as input for example: 100 and 1000 and I need to create file and in that file should be written 100 - 199 200 - 299 300 - 399 400 - 499 500 - 599 600 - 699 700 - 799... (3 Replies)
Discussion started by: amon
3 Replies

9. UNIX for Dummies Questions & Answers

bc calculate problem

Hi , this is the first time i use bc to calculate and i would have decimal result , i use the following : toto=400;scale=1 echo $toto / 1000|bc scale to adjust the numbers after the command would have in this case 0.4 as result and i wonder why i have always 0 as result. Somebody can... (2 Replies)
Discussion started by: Nicol
2 Replies
Login or Register to Ask a Question