would have worked if you had changed $sum=0 on the first line to sum=0
I assume that the variable sum was not set when you started so the first command turned into =0 when $sum expanded to an empty string.
However, it is pretty inefficient to invoke bc for each value you want to add. A much simpler way would be to use:
which only invokes awk once instead of invoking bc 265 times. (Note that you have 265 values in b22; not 256.)
This User Gave Thanks to Don Cragun For This Post:
I am begining to learn bourne shell and as a practice I have written a script which when given the purchase price and percentage of discount calculates the savings.
I somehow cannot figure out why my script fails to do arthimatic calculation on real numbers.
Could anyone look at the script... (5 Replies)
Discussion started by: Tirmazi
5 Replies
3. Post Here to Contact Site Administrators and Moderators
page
unix com/answers-frequently-asked-questions/13785-yesterdays-date-date-arithmetic.html
Date Arithmetic with the Shell
has link of
www samag com/documents/s=8284/sam0307b/0307b.htm
which is no longer.
Is this the correct place to post this?:confused:
and I got message... (1 Reply)
Hello everybody,
I decided to take a Unix Introduction class and have never had experience with programming. Everything was fine until recently when the Prof. started shell scripting and he wants us to make a small script to add unlimited numbers from arguments and from standard input.
I... (1 Reply)
Hello everybody,
I decided to take a Unix Introduction class and have never had experience with programming. Everything was fine until recently when the Prof. started shell scripting and he wants us to make a small script to add unlimited numbers from arguments and from standard input.
I... (8 Replies)
I need help on arithmetic
root@server # hour=`date | awk {'print $4'} | cut -d: -f 1`; echo $hour
04
Now I subtract this result by 1 or 01 I get "3" as the answer. I need "03" as the answer, ie last two significant numbers should be there.
root@server # hour=`date | awk {'print $4'} | cut... (3 Replies)
Hi,
I need a help with arithmetic calculations in my script. I have two variables: a=17; b=1712
I want to perform ($a/$b)*100 with two decimals in the result.
I tried with following:
res=$((100*a/b))
res=`echo "scale=2; $a / $b" | bc`
But I am not getting the decimal values.... (4 Replies)
I am trying to perform arithmetric, for example, to increment the value of variable $a (say 3) by 0.05 but when I tried the following expression
let a=a+0.05
or a=$((a+0.05))
both returned
3.0499999999999998
I want to keep 2 decimal places so it returns 3.05 instead. (6 Replies)
i am having a varialbe a , which is input to my file
i want to multiply this input with value .43, and assign it to variable b.
i tried it as below:
#!/bin/sh
a=$1
b=`expr $1\*0.43`
echo b=$b
error : expr: non-integer argument
Please tell me , how to do this.
Thanks (10 Replies)
Hello,
I am having a problem when i execute following script on RHEL 6.4. Same script works fine on another machine where I have same version of RHEL and KSH.
Below is the rpm and RHEL version.
ossvm12(0)> rpm -qa | grep ksh
ksh-20100621-19.el6.x86_64
ossvm12(0)> cat... (7 Replies)
Discussion started by: Adithya Gokhale
7 Replies
LEARN ABOUT OSX
sum
sum(n) Cyclic Redundancy Checks sum(n)
__________________________________________________________________________________________________________________________________________________NAME
sum - Calculate a sum(1) compatible checksum
SYNOPSIS
package require Tcl 8.2
package require sum ?1.1.0?
::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan | string ]
_________________________________________________________________DESCRIPTION
This package provides a Tcl-only implementation of the sum(1) command which calculates a 16 bit checksum value from the input data. The
BSD sum algorithm is used by default but the SysV algorithm is also available.
COMMANDS
::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan | string ]
The command takes string data or a file name or a channel and returns a checksum value calculated using the sum(1) algorithm. The
result is formatted using the format(n) specifier provided or as an unsigned integer (%u) by default.
OPTIONS -sysv The SysV algorithm is fairly naive. The byte values are summed and any overflow is discarded. The lowest 16 bits are returned as the
checksum. Input with the same content but different ordering will give the same result.
-bsd This algorithm is similar to the SysV version but includes a bit rotation step which provides a dependency on the order of the data
values.
-filename name
Return a checksum for the file contents instead of for parameter data.
-channel chan
Return a checksum for the contents of the specified channel. The channel must be open for reading and should be configured for
binary translation. The channel will no be closed on completion.
-chunksize size
Set the block size used when reading data from either files or channels. This value defaults to 4096.
-format string
Return the checksum using an alternative format template.
EXAMPLES
% crc::sum "Hello, World!"
37287
% crc::sum -format 0x%X "Hello, World!"
0x91A7
% crc::sum -file sum.tcl
13392
AUTHORS
Pat Thoyts
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category crc of
the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for
either package and/or documentation.
SEE ALSO
cksum(n), crc32(n), sum(1)KEYWORDS
checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security, sum
CATEGORY
Hashes, checksums, and encryption
COPYRIGHT
Copyright (c) 2002, Pat Thoyts <patthoyts@users.sourceforge.net>
crc 1.1.0 sum(n)