Sponsored Content
Full Discussion: Comparing Version Numbers
Top Forums UNIX for Dummies Questions & Answers Comparing Version Numbers Post 302269331 by jim mcnamara on Wednesday 17th of December 2008 11:43:58 AM
Old 12-17-2008
Oh. details like that help a lot.
One way to do this try this for starters-
Code:
#!/bin/ksh
# input versionstring1   versionstring2  example: 10.10.1  10.8.3
# returns 0 if string1 = string2  
#          <0 if string1 < string2 
#           >0  if string1 > string2
# this assumes xx.xx.xx for version number
vercmp()
{
     IFS=.
     echo "$1"  | read a1 b1 c1
     echo "$2"  | read a2 b2 c2
     IFS=" "
     r1=$((a1 - a2))
     r2=$((b1 - b2))
     r3=$((c1 - c2))
     tot=$((r1 + r2 + r3))
     if [ $tot -eq 0 ] ; then
         print 0
         return 0
     fi
     if [[ $r1 -gt 0 || $r2 -gt 0 || $r3 -gt 0 ]] ; then  # changed
         print 1
         return 0
     fi
     retval="-1"        # changed
     echo  "$retval"  # changed

}

#usage:
if [ $(vercmp 10.10.1 10.2.4) -gt -1 ] ; then
       echo "version okay"
else
       echo "version too old"
fi


Last edited by jim mcnamara; 12-17-2008 at 02:03 PM..
 

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
CMAP(5) 							File Formats Manual							   CMAP(5)

NAME
cmap - format of .cmap files (color maps) DESCRIPTION
Color-map files define the mapping between eight-bit color numbers and red, green and blue intensities used for those numbers. They are read by Magic as part of system startup, and also by the :load and :save commands in color-map windows. Color-map file names usually have the form x.y.z.cmapn, where x is a class of technology files, y is a class of displays, z is a class of monitors, and n is a version number (currently 1). The version number will change in the future if the formap of color-map files ever changes. Normally, x and y correspond to the corresponding parts of a display styles file. For example, the color map file mos.7bit.std.cmap1 is used today for most nMOS and CMOS technology files using displays that support at least seven bits of color per pixel and standard-phosphor monitors. It corresponds to the display styles file mos.7bit.dstyle5. Color-map files are stored in ASCII form, with each line containing four decimal integers separated by white space. The first three inte- gers are red, green, and blue intensities, and the fourth field is a color number. For current displays the intensities must be integers between 0 and 255. The color numbers must increase from line to line, and the last line must have a color number of 255. The red, green, and blue intensities on the first line are used for all colors from 0 up to and including the color number on that line. For other lines, the intensities on that line are used for all colors starting one color above the color number on the previous line and continuing up and through the color number on the current line. For example, consider the color map below: 255 0 0 2 0 0 255 3 255 255 255 256 This color map indicates that colors 0, 1, and 2 are to be red, color 3 is to be blue, and all other colors are to be white. SEE ALSO
magic(1), dstyle(5) 4th Berkeley Distribution CMAP(5)
All times are GMT -4. The time now is 09:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy