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

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

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

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:

Code:
var1=2
var2=4
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
Hi,
you can achieve that using bc as follows
Code:
$ echo " scale=3;2/4"|bc -l
.500

thanks,
venkat

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:

Code:
#!/usr/dt/bin/dtksh

# 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

Output:
Code:
$ float_test
.5
$

Login or Register to Ask a Question

Previous Thread | Next Thread

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. . script.sh sh script.sh I have a problem if I execute the following code as sh script.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
Login or Register to Ask a Question