Visit Our UNIX and Linux User Community

Issues when dividing

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issues when dividing
# 1  
Old 01-23-2012
Issues when dividing

I do have a very simple task to divide 2 variables and display the result.
I CANNOT use bc
when i try
var3=$(($var1 / $var2))
echo $var3

the output is always 0
What can I change to get a dotted decimal result such as 0.5 ?

Last edited by Franklin52; 01-24-2012 at 05:05 AM.. Reason: Please use code tags for code and data samples, thank you
# 2  
Old 01-23-2012
How about using awk:

var3=$(awk "BEGIN { print $var1 / $var2 }" /dev/null)
echo $var3

This User Gave Thanks to Chubler_XL For This Post:
# 3  
Old 01-23-2012
Thanks a lot. That works!
# 4  
Old 01-25-2012
Just curious. Why can't you use bc?
# 5  
Old 01-25-2012
you can achieve that using bc as follows
$ echo " scale=3;2/4"|bc -l


Last edited by Franklin52; 01-25-2012 at 07:42 AM.. Reason: Please use code tags for code and data samples, thank you
# 6  
Old 01-25-2012
If you are using ksh93 (or another shell that supports typeset), declare variables to be floats and save the overhead of calling awk:


# Declare variables as floats.
typeset -F var1=2
typeset -F var2=4

# Declare answer to hold a float with 1 decimal point.
typeset -F1 var3=$(( $var1 / $var2 ))

echo $var3

exit 0

$ float_test

Previous Thread | Next Thread
Test Your Knowledge in Computers #669
Difficulty: Medium
802.11 technology has its origins in a 1985 ruling by the U.S. FCC that released the ISM band for unlicensed use.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Dividing by zero

Does anyone know how to include as a script maybe an "echo" warning that explains that if a user uses the second number "zero" when dividing, that the result will BE "zero." I need, example: 5/0 (second number) = 0, in script form. current script: echo "Enter a number" read num1 echo... (4 Replies)
Discussion started by: jefferj54
4 Replies

2. Shell Programming and Scripting

Dividing one file into several files

Hello, I am using Awk in UBUNTU 12.04. I have a file as follows, the first column represents the name of populations, in my real file, I have 47 populations and 2172 lines in total with about 47000 fields. ABO_1 1 2 ABO_1 1 2 ABO_2 1 1 GPO_1 1 1 GPO_1 2 2 GPO_2 1 0 GPO_2 2 0 I want... (3 Replies)
Discussion started by: Homa
3 Replies

3. Shell Programming and Scripting

Dividing two numbers in unix

Hi, I have written this code the division of two numbers and multiply it by hundred (to get the percent) echo "script running for the 1st time" cp value_directory_present.txt /home/mysql_cnbc/value_directory_past.txt rm -f test6.txt value_directory_present.txt else y1=`awk '{print $1}'... (5 Replies)
Discussion started by: arijitsaha
5 Replies

4. Shell Programming and Scripting

Dividing file into columns

Hi, I have a file containing 28048 lines and I would like to split it into a a file with 3506 lines and 8 columns? In column 1, I would like to have the first 3506 lines, in columns 2 the second 3506 lines and so on. I've been looking around in the forum but I found very specific cases. Is... (1 Reply)
Discussion started by: f_o_555
1 Replies

5. UNIX for Dummies Questions & Answers

Dividing a column by it's first number

Hi! Is there an easy way (maybe using awk??) to divide the values of one column of the file by it's first entry.. If I have a column: 3 4 5 6 7 I would like to divide it by 3. I want to do this for more than 100 files, so it wouldn't be practical to open file by file and... (26 Replies)
Discussion started by: cosmologist
26 Replies

6. Shell Programming and Scripting

Dividing user Array by 2

Hello! Im trying to divid the numbers inputed by <STDIN> by 2. This is what I have: print "The input array divided by 2 is as follows:\n"; foreach ((@userArray)/2) {print} But it is not dividing by 2? Any help is valuable!! Ben (3 Replies)
Discussion started by: bigben1220
3 Replies

7. Shell Programming and Scripting

Problem with dividing

Hi All, I have two variables like below.. ETIMEHR =03 #END TIME HOUR ETIMEMIN=02 #END TIME MIN Now I'm converting the min to hour by deviding it by 60 ETIMEMINCONV=`echo "scale=2; $ETIMEMIN/60" | bc` but when i print ETIMEMINCONV instead of getting... (6 Replies)
Discussion started by: smarty86
6 Replies

8. UNIX for Dummies Questions & Answers

Dividing float values

Hi I know its a dumb question but can any one please explain me the difference of executing a shell script in the following 2 ways. . sh I have a problem if I execute the following code as sh DB_CNT_ALW=0.20 SCT_VAR=0.05 if ; then echo "== Difference... (3 Replies)
Discussion started by: shash
3 Replies

9. Programming

dividing a file into two

Hi .. I have a file which contains a list of numbers like.. 1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027, 2028,2029,2030,2031,2032,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,... (2 Replies)
Discussion started by: jazz
2 Replies

10. UNIX for Dummies Questions & Answers

dividing the screen >>>

Hi! Is there is any way to divide the screen when I use UNIX shells (I have RedHat 7.1)? I have to see the command promt and process some data from very long file at the same time (I work with PThreads). Some "pseudo-windows" in text mode, huh? =) Thanks in advance and don't be angry =) (4 Replies)
Discussion started by: ShockTeam
4 Replies

Featured Tech Videos