Sponsored Content
Full Discussion: Comparing Version Numbers
Top Forums UNIX for Dummies Questions & Answers Comparing Version Numbers Post 302270926 by cero on Tuesday 23rd of December 2008 07:53:07 AM
Old 12-23-2008
I'm not familiar with OS X, but usually version numbers are weighted. That may be the reason for the unrespected results on Tiger.
A script assuming max. 3 digits for any number could look like this:
Code:
#!/bin/ksh
# compare version numbers
# usage: vercmp <versionnr1> <versionnr2>
#         with format for versions xxx.xxx.xxx
# returns: 0 if versionnr1 equal or greater
#          1 if versionnr1 lower
vercmp()
{
        IFS=.
        echo "$1" |read a1 b1 c1
        echo "$2" |read a2 b2 c2
        IFS=" "
        ret=$(((a1 - a2) * 1000000 + (b1 - b2) * 1000 + c1 - c2))
        test $ret -gt -1
        return $?
}

vercmp 9.2.5 10.3.9
echo $?
vercmp 10.3.2 9.1.1
echo $?
vercmp 10.3.2 9.9.9
echo $?
vercmp 10.3.2 10.3.2
echo $?

returns
Quote:
1
0
0
0
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Comparing two numbers

Hello, I kinda newbie in unix so I would like so help.I know that there is a command that compares two integer numbers test (eg. #$1=0 ).I would like to know if it is possible to compare any number with another (eg. 2.3=0 or 3.7!=0 4.5>2.2). Thank you in advance. (1 Reply)
Discussion started by: TabloMaxos
1 Replies

2. Shell Programming and Scripting

comparing two numbers with the decimals

Can someone tell me how do I comapre two numbers with the decimals in UNIX shell scripting I understand "-gt" can be used only for integers Regards, Giri (4 Replies)
Discussion started by: chittari
4 Replies

3. UNIX for Dummies Questions & Answers

comparing numbers in a file

Hello, I'm searching for a quick method to read numeric values from a file or a defined variable and identifying the largest number. For instance if the following numbers are in a file or defined to a variable: 09192007 09202007 09182007 09172007 09162007 What "short" method could be used to... (7 Replies)
Discussion started by: dusk2dawn
7 Replies

4. Shell Programming and Scripting

comparing with numbers.

How to compare a variable with a value like 00:00:10 ? Thanks (4 Replies)
Discussion started by: nagendramv
4 Replies

5. Shell Programming and Scripting

Comparing Decimal Numbers

Im trying to compare two numbers with decimals but its not working as expected. a=1 b=1.1 if then echo "equal" fi When I do this it says that the numbers are equal. Ultimately Im using -le and -ge in the if statements but I tested with -eq for simplicity. Any way to make this... (3 Replies)
Discussion started by: Grizzly
3 Replies

6. Shell Programming and Scripting

Comparing two numbers with decimal point

How to compare two numbers with decimal points ? Is there a way in bash to do this? (33 Replies)
Discussion started by: kinny
33 Replies

7. Shell Programming and Scripting

Where to being Comparing numbers?

Hi. I do not know how to compare numbers and need help. In my script I have to figure the MAX, MIN, & Avg. Sales amounts. Please help me. In the code, "transaction" is a counter. #!/bin/bash clear transaction=0 sales=0 total=0 while test $sales ... (9 Replies)
Discussion started by: Ccccc
9 Replies

8. Shell Programming and Scripting

Comparing Negative Numbers with If/Else

ValA=-29344 if ; then echo "NEGATIVE" else echo "POSITIVE" fi Can someone please tell me how else they would go about doing the above? When i do it, i get errors such as: (10 Replies)
Discussion started by: SkySmart
10 Replies

9. Shell Programming and Scripting

Comparing decimal numbers between 0 and 1

For numbers between 0 and 1 the below logic is not working. Output of above shall be "correct" but its echoing "incorrect".Kindly suggest a=.1 if then echo correct else echo incorrect fi Video tutorial on how to use code tags in The UNIX and Linux Forums. (3 Replies)
Discussion started by: itsvikas
3 Replies

10. Shell Programming and Scripting

Comparing a list of numbers is less than a variable

Hello everyone, I want to compare a list of numbers in the file TEST01 to the variable $Post. Also remove any duplicate numbers. Create an if then statement indicating if the numbers listed in TEST01 is less than the number value of $Post then print an error message. Here is the contents of... (5 Replies)
Discussion started by: seekryts15
5 Replies
APC_DEC(3)								 1								APC_DEC(3)

apc_dec - Decrease a stored number

SYNOPSIS
int apc_dec (string $key, [int $step = 1], [bool &$success]) DESCRIPTION
Decreases a stored integer value. PARAMETERS
o $key - The key of the value being decreased. o $step - The step, or value to decrease. o $success - Optionally pass the success or fail boolean value to this referenced variable. RETURN VALUES
Returns the current value of $key's value on success, or FALSE on failure EXAMPLES
Example #1 apc_dec(3) example <?php echo "Let's do something with success", PHP_EOL; apc_store('anumber', 42); echo apc_fetch('anumber'), PHP_EOL; echo apc_dec('anumber'), PHP_EOL; echo apc_dec('anumber', 10), PHP_EOL; echo apc_dec('anumber', 10, $success), PHP_EOL; var_dump($success); echo "Now, let's fail", PHP_EOL, PHP_EOL; apc_store('astring', 'foo'); $ret = apc_dec('astring', 1, $fail); var_dump($ret); var_dump($fail); ?> The above example will output something similar to: Let's do something with success 42 41 31 21 bool(true) Now, let's fail bool(false) bool(false) SEE ALSO
apc_inc(3). PHP Documentation Group APC_DEC(3)
All times are GMT -4. The time now is 01:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy