Sponsored Content
Full Discussion: How to shorten my code?
Top Forums UNIX for Dummies Questions & Answers How to shorten my code? Post 302871923 by eggisbad on Thursday 7th of November 2013 10:21:03 AM
Old 11-07-2013
How to shorten my code?

Code:
salary_range_report()
{
	echo -e ${underline}$redYellow"\nSalary Range Report\n"
	tput sgr0

	count_0_to_999=0
	count_1000_to_2999=0
	count_2000_to_5999=0
	count_6000_to_9999=0
	count_10000_above=0

	for i in `cut -d "," -f4 $PAYROLL` #Loop Salary
	do
		if [ $i -lt "999" ] && [ $i -gt "0" ]
		then
			let "count_0_to_999 = count_0_to_999 + 1"
		elif [ $i -gt "1000" ] && [ $i -lt "2999" ]
		then
			let "count_1000_to_2999 = count_1000_to_2999 + 1"
		elif [ $i -gt "2000" ] && [ $i -lt "5999" ]
		then
			let "count_2000_to_5999 = count_2000_to_5999 + 1"
		elif [ $i -gt "6000" ] && [ $i -lt "9999" ]
		then
			let "count_6000_to_9999 = count_6000_to_9999 + 1"
		else
			let "count_10000_above = count_10000_above + 1"
		fi
	done

	echo -e "Salary Range\t\tTotal"
	echo -e "\$0 -999\t\t\t$count_0_to_999"
	echo -e "\$1000 -2999\t\t$count_1000_to_2999"
	echo -e "\$2000 -5999\t\t$count_2000_to_5999"
	echo -e "\$6000 -9999\t\t$count_6000_to_9999"
	echo -e ">\$10,000\t\t$count_10000_above"
	
	
	echo -en "Hit [Enter] to return to main menu..."
   	read
}

Hi there everyone, as my title stated, how can i shorten my code? Im new to shell scripting and i think my code can be shorten to just a line.
My code is working perfectly and able to generate a report.
I saw people using awk utility and just one line , they are doing the same thing as my long code above.

So i hope someone could help me start up with the awk so i can see if im able to work out with it
Thank you guys!
 

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Howto shorten script in a busybox environment by using for loops?

My satellite receiver is equipped with busybox, so a small linux version. That is why I can not use certain commands like #tomorrow in date commands or #date -d "+1 day" and thus I have to use: day1=$ I want to download every day 6 files from the internet but the filenames consist of the date... (6 Replies)
Discussion started by: ni_hao
6 Replies

2. Shell Programming and Scripting

script to shorten usernames and output to file

Hopefully someone here can point me in the correct direction. I'm working on a username migration and am trying to map my users ols usernames to the new ones. Right now every user has a username of firstname.lastname i.e. john.doe I'm trying to create a bash or python script that will take... (3 Replies)
Discussion started by: binary-ninja
3 Replies

3. Shell Programming and Scripting

Block of code replacement in Java source code through Unix script

Hi, I want to remove the following code from Source files (or replace the code with empty.) from all the source files in given directory. finally { if (null != hibernateSession && hibernateSession.isOpen()) { //hibernateSession.close(); } } It would be great if the script has... (2 Replies)
Discussion started by: hareeshram
2 Replies

4. UNIX for Dummies Questions & Answers

How can i use function for the below script to shorten it?

Hi All, i worte a shell script which will zcat the .gz file and write it in to a tmp file and then again cat the file and convert it to Dos mode. Next step is i am greping the file to search for the particular string on the 1st line and if the string does not exits it will insert the 1st line... (1 Reply)
Discussion started by: vikatakavi
1 Replies

5. Shell Programming and Scripting

Shorten header of protein sequences in fasta file

I have a fasta file as follows >sp|O15090|FABP4_HUMAN Fatty acid-binding protein, adipocyte OS=Homo sapiens GN=FABP4 PE=1 SV=3 MCDAFVGTWKLVSSENFDDYMKEVGVGFATRKVAGMAKPNMIISVNGDVITIKSESTFKN TEISFILGQEFDEVTADDRKVKSTITLDGGVLVHVQKWDGKSTTIKRKREDDKLVVECVM KGVTSTRVYERA >sp|L18484|AP2A2_RAT AP-2... (3 Replies)
Discussion started by: alexypaul
3 Replies

6. Shell Programming and Scripting

Ps command and awk - shorten characters

ps -e -o pcpu -o pid -o user -o args | sort -k 1 | tail -6r %CPU PID USER COMMAND 0.3 223220 root /usr/tivoli/tsm/client/ba/bin/dsmc sched 0.2 411332 root /usr/sbin/syslogd 0.1 90962 root /usr/sbin/syncd 60 0.0 10572 root -ksh 0.0 94270 root -ksh ... (4 Replies)
Discussion started by: SkySmart
4 Replies

7. Shell Programming and Scripting

Shorten header of protein sequences in fasta file to only organism name

I have a fasta file as follows >sp|Q8WWQ8|STAB2_HUMAN Stabilin-2 OS=Homo sapiens OX=9606 GN=STAB2 PE=1 SV=3 MMLQHLVIFCLGLVVQNFCSPAETTGQARRCDRKSLLTIRTECRSCALNLGVKCPDGYTM ITSGSVGVRDCRYTFEVRTYSLSLPGCRHICRKDYLQPRCCPGRWGPDCIECPGGAGSPC NGRGSCAEGMEGNGTCSCQEGFGGTACETCADDNLFGPSCSSVCNCVHGVCNSGLDGDGT... (3 Replies)
Discussion started by: jerrild
3 Replies
ROBOCUT(1)							   User Commands							ROBOCUT(1)

NAME
Robocut - is used with cutting plotters. DESCRIPTION
The `Robocut' program plots or cuts SVG files on a Craft Robo or Silhouette SD or most likely any other customer grade Graphtec cutting plotter. Usage: robocut [OPTIONS...] [File] Help Options: --help Show summary of options. --version Show version information and copyright details. --show Show all the parameters entered and the defaults. Application Options: -s, --no-sort Stop sort the objects from the SVG before plotting. -t, --bb-sort Sort the objects by bounding box, good for letters. This will cut out the inside first and than the outside. --cut Shows the cutting dialogue after start. --media INT Select the media. See drop down box. -g, --speed INT The speed between 1 and 33. -p, --pressure INT The pressure between 1 and 10. --track-enhancing Move three times back and forward to create a track. --margin-top DOUBLE Define the margin on top in mm. --margin-right DOUBLE Define the margin right in mm. Registration Mark Options: -r, --reg-mark-auto Use registration marks and find the marks automatically. --reg-mark Use registration marks but set the knife manually on top the round mark. -a, --reg-dimension-width DOUBLE Specify the length in mm between the the two horizontal marks. -b, --reg-dimension-height DOUBLE Specify the length in mm between the the two vertical marks. -c, --reg-origin-width DOUBLE Specify the length in mm between the the edge of the paper and the first horizontal mark. -d, --reg-origin-height DOUBLE Specify the length in mm between the the edge of the paper and the first vertical mark. Device Options: --usb-vendor-id INT Try this program with other usb hardware on your own risk. You need to convert hex to dec. --usb-product-id INT May also work with other hardware, try usb-devices program to scan your computer. ENVIRONMENT
QT SVG only supports the SVG 1.2 Tiny standard and this has a limited SVG support. For example multiline text is something that is no sup- ported by Robocut, however you can export your text to a path or just create each line separate. AUTHOR
Written by Tim Hutt and Markus Schulz <schulz@alpharesearch.de> REPORTING BUGS
Report bugs to https://bugs.launchpad.net/robocut/+filebug. COPYRIGHT
Copyright (C) 2010 This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. Robocut V1.0.8 August 2011 ROBOCUT(1)
All times are GMT -4. The time now is 06:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy