Sponsored Content
Top Forums Shell Programming and Scripting Bash Floating point math with bc Post 302849133 by Jotne on Saturday 31st of August 2013 01:10:34 AM
Old 08-31-2013
First off, you should use code tags

Never comment lines like this
echo "Enter connection speed" << Get the speed of the Connection from user
Use hash # like this
echo "Enter connection speed" # Get the speed of the Connection from user

RTT=$(ping -c 1 $IP |grep rtt | cut -d"/" -f5 ) |bc
What are you trying to do with bc here? This does not give any output to bc to work with, remove it.
RTT=$(ping -c 1 $IP |grep rtt | cut -d"/" -f5 )

echo ((2 * $SPEED / 8 * $RTT ))
Here you miss the $ to do the math
echo $((2 * $SPEED / 8 * $RTT ))
Not sure why it still does not work so I have change it to awk

Do also use parantheses to make sure you have the math correctly
Code:
echo $(( (3*8)/(2*4) ))
3

compare to
Code:
echo $(( 3*8/2*4 ))
48

Code:
#!/bin/bash
echo "Enter connection speed" # Get the speed of the Connection from user
read SPEED
echo "enter ip for far end device" # Enter a ip to ping to get Round trip time
read IP
echo "determine RTT"
RTT=$(ping -c 1 $IP | awk -F/ 'END {print $5}')
awk -v s=$SPEED -v r=$RTT 'BEGIN {print (2*s)/(8*r)}'

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Floating Point Division

Does anyone have a simple way of doing floating point ("fp") division? For example, if I divide 3 by 5, I can get 0.6. The built-in calc (`bc`) will perform fp multiplication, but not division, at least not straight-up (i.e., starting bc and just typing in 3/5). I am trying to do this using... (1 Reply)
Discussion started by: gsatch
1 Replies

2. Shell Programming and Scripting

Floating point numeric comparisions in bash

Hi, I am trying to compare 2 floating point numbers 0.8 and 0.15 using bash and get the largest of the two. Can anyone advise. (2 Replies)
Discussion started by: borncrazy
2 Replies

3. Programming

floating point problem

Hi all! Hi all! I am working with a problem to find the smallest floating point number that can be represented. I am going in a loop ,stating with an initial value of 1.0 and then diving it by 10 each time thru the loop. So the first time I am getting o.1 which I wanted.But from the next... (4 Replies)
Discussion started by: vijlak
4 Replies

4. Shell Programming and Scripting

BASH: floating point exception

Hi, guys, today, I have copied a simple script which runs correctly on a computer to another one. But, the latter informs me: Floating point exception! @ ./command_module a b c where command_module is the module compiled by myself. So, I have fixed it by following steps: 1.... (5 Replies)
Discussion started by: mapleleaves
5 Replies

5. Shell Programming and Scripting

floating point not recognized by printf in bash

Dear all, I have the following question. Let's say that I have the following script #!/bin/bash value=0.4987865 a=` printf "%6.2f" $value ` b=`echo $value + $value | bc -l` echo $a echo $b exit And the exit is: 0,00 .9975730 Thus, the problem is that the printf order does not... (2 Replies)
Discussion started by: josegr
2 Replies

6. Programming

Floating Point

Anyone help me i cant found the error of floating point if needed, i added the code complete #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> typedef struct { int hh; int mm; int ss; char nom; int punt; }cancion; typedef struct... (9 Replies)
Discussion started by: Slasho
9 Replies

7. Shell Programming and Scripting

[BASH] Regex for floating point number

Hey again, I have a basic regex that tests if a number is a float. Thank you. (5 Replies)
Discussion started by: whyte_rhyno
5 Replies

8. Shell Programming and Scripting

[BASH] Floating point exception

Heyas I have a script (vhs - video handler script, using ffmpeg) to encode videos. It also encodes a dvd, but until now just non-copy-protected ones, so i've tried to add/implement a vobcopy wrapper to be used by my script. At first it looked quite fine, but when changing from the first VOB... (9 Replies)
Discussion started by: sea
9 Replies

9. Shell Programming and Scripting

Bash script to print the smallest floating point number in a row that is not 0

Hello, I have often found bash to be difficult when it comes to floating point numbers. I have data with rows of tab delimited floating point numbers. I need to find the smallest number in each row that is not 0.0. Numbers can be negative and they do not come in any particular order for a given... (9 Replies)
Discussion started by: LMHmedchem
9 Replies

10. Shell Programming and Scripting

Comparison of floating point numbers in bash

I have the following code snippet in bash if ]; then minm=`echo "$diff" | bc` fi It works well for most of the cases. However lets say diff is -0.17 and minm is -0.0017. In such a case the comparison seems to fail. Is the correct way to compare a mixture of positive and... (12 Replies)
Discussion started by: ngabrani
12 Replies
sccs-comb(1)							   User Commands						      sccs-comb(1)

NAME
sccs-comb, comb - combine SCCS deltas SYNOPSIS
/usr/ccs/bin/comb [-os] [-csid-list] [-psid] s.filename... DESCRIPTION
comb generates a shell script (see sh(1)) that you can use to reconstruct the indicated s.files. This script is written to the standard output. If a directory name is used in place of the s.filename argument, the comb command applies to all s.files in that directory. Unreadable s.files produce an error; processing continues with the next file (if any). The use of `-' as the s.filename argument indicates that the names of files are to be read from the standard input, one s.file per line. If no options are specified, comb preserves only the most recent (leaf) delta in a branch, and the minimal number of ancestors needed to preserve the history. OPTIONS
The following options are supported: -o For each `get -e' generated, access the reconstructed file at the release of the delta to be created. Otherwise, the recon- structed file is accessed at the most recent ancestor. The use of -o may decrease the size of the reconstructed s.file. It may also alter the shape of the delta tree of the original file. -s Generate scripts to gather statistics, rather than combining deltas. When run, the shell scripts report: the file name, size (in blocks) after combining, original size (also in blocks), and the percentage size change, computed by the formula: 100 * ( original - combined ) / original This option can be used to calculate the space that will be saved, before actually doing the combining. -csid-list Include the indicated list of deltas. All other deltas are omitted. sid-list is a comma-separated list of SCCS delta IDs (SIDs). To specify a range of deltas, use a `-' separator instead of a comma, between two SIDs in the list. -pSID The SID of the oldest delta to be preserved. FILES
s.COMB reconstructed SCCS file comb????? temporary file ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWsprot | +-----------------------------+-----------------------------+ SEE ALSO
sccs(1), sccs-admin(1), sccs-cdc(1), sccs-delta(1), sccs-help(1), sccs-prs(1), sccs-prt(1), sccs-rmdel(1), sccs-sccsdiff(1), what(1), sccs- file(4), attributes(5) DIAGNOSTICS
Use the SCCS help command for explanations (see sccs-help(1)). BUGS
comb may rearrange the shape of the tree of deltas. It may not save any space; in fact, it is possible for the reconstructed file to actu- ally be larger than the original. SunOS 5.10 1 Nov 1999 sccs-comb(1)
All times are GMT -4. The time now is 01:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy