how to compare string integer with an integer?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to compare string integer with an integer?
# 1  
Old 02-09-2012
how to compare string integer with an integer?

hi,

how to I do this?
Code:
i="4.000"
if [ $i -lt 0 ] ; then
   echo "smaller"
fi

how do I convert the "4.000" to 4?

Thanks!

Last edited by Franklin52; 02-09-2012 at 05:34 AM.. Reason: Please use code tags for code and data samples, thank you
# 2  
Old 02-09-2012
If you are bot bothered about the decimal values, you can just strip it off using...
Code:
val=${i%%.*}


Or bc can be handy...
Code:
i=4.000
ret=$( echo "$i < 0" | bc )
echo $ret
0

i=-1.000
ret=$( echo "$i < 0" | bc )
echo $ret
1

man bc
Quote:
Relational expressions are a special kind of expression that always evaluate to 0 or 1, 0 if the relation
is false and 1 if the relation is true.
--ahamed

Last edited by ahamed101; 02-09-2012 at 05:04 AM..
This User Gave Thanks to ahamed101 For This Post:
# 3  
Old 02-09-2012
this may help you.
Quote:
i="4.000"
j=`echo $i | awk '{printf "%.0f\n", $1}'`
if [ $j -gt 0 ] ; then
echo "smaller"
fi
This User Gave Thanks to gowtham.varma For This Post:
# 4  
Old 02-09-2012
Quote:
Originally Posted by gowtham.varma
this may help you.
Quote:
j=`echo $i | awk '{printf "%.0f\n", $1}'`
Why use awk?
Code:
j=$(printf "%.0f" "$i")

# 5  
Old 02-09-2012
ksh lets you just typeset it to an integer if you don't care about what is to the right of the decimal place.

Code:
#!/bin/ksh

integer i="4.000"

if [ $i -lt 0 ] ; then
   echo "smaller"
fi

exit 0

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need help on awk to compare only integer on particular column

Hi, 0.23 2.94% 0.00 0.00% 17.8G 55.7% 19.6G 40.9% 630 0.00% 0.06 0.77% - - 7524M 22.9% 15.6G 32.6% - - From the above sample output. I need to compare whether the 6th field is more than 10G..if so print the entire line. Here the 6th field is memory TIA (5 Replies)
Discussion started by: Sumanthsv
5 Replies

2. Shell Programming and Scripting

String to integer

I am on HP-UX using ksh in the script. MaxSal=`sqlplus -silent /nolog <<EOF connect / as sysdba whenever sqlerror exit sql.sqlcode set pagesize 0 feedback off verify off heading off echo off select max(sal) from emp1; select max(sal) from emp2; select max(sal) from emp3; exit; EOF`... (3 Replies)
Discussion started by: bang_dba
3 Replies

3. Shell Programming and Scripting

Compare the text/integer value from the log file

i have some log (temp.txt) file like temp.txt: Filesystem size used avail capacity Mounted on /dev/md/dsk/d30 9.8G 9.7G 14M 100% /opt /dev/md/dsk/d72 187M 61M 107M 37% /osmf/mgmt /dev/md/dsk/d71 187M 140M 29M 83% /export/home /dev/md/dsk/d70 7.9G 4.3G 3.5G 56% /var/crash /dev/md/dsk/d74... (6 Replies)
Discussion started by: doubt
6 Replies

4. Shell Programming and Scripting

How to compare floating variables , integer value expected?

I am running some commands and I am trying to get an output into a variable. I am having problem when I try to put that value in while loop, it says integer value expected. What's the best way to accomplish this remaining=$(symclone -sid XXX -f Clone_test query | grep MB | awk '{print... (1 Reply)
Discussion started by: rajsan
1 Replies

5. UNIX for Dummies Questions & Answers

compare decimal and integer values in if in bash shell

i need to do camparisions like the below. For the case when first=10 and second=9.9 the scripts displays process failed. I need to be able to convert the values to integer before doing the comparision. Like 9.9 should be rounded over to 10 before doing comparision. Please advice how can... (3 Replies)
Discussion started by: nehagupta
3 Replies

6. Shell Programming and Scripting

Compare two files based on integer part only

Please see how can I do this: File A (three columns): X1,Y1,1.01 X2,Y2,2.02 X3,Y3,4.03 File B (three columns): X1,Y1,1 X2,Y2,2 X3,Y3,4.0005 Now I have to compare file A and B based on the integer part of column 3. Means first 2 rows should be OK and the third row should not satisfy... (12 Replies)
Discussion started by: yale_work
12 Replies

7. Programming

to compare two integer values stored in char pointers

How can I compare two integer values which is stored in char pointers? suppose I have char *a and char *b having values 10 and 20. how can i find the shorter value? (1 Reply)
Discussion started by: naan
1 Replies

8. Shell Programming and Scripting

how to compare string & integer in unix

Hi All, i am doung sup up of amount column in my file. tot_val=`awk '{a+=$0}END{printf "%.5f\n",a}' amount` then i have a checksum in footer. chk_sum=`tail -1 $FILE_NAME | cut -d~ -f7 | cut -c2-` but the problem is while executing 1st command i am getting : 27720.75000 & while... (3 Replies)
Discussion started by: Amit.Sagpariya
3 Replies

9. Shell Programming and Scripting

Compare integer value with decimal

Hi all, I have a issue... Is it possible to compare integer value with decimal value. If it is not possible,then how can i compare 2 decimal values in born shell.thanks! (3 Replies)
Discussion started by: MARY76
3 Replies

10. Programming

Integer to String

Which function should I use to convert an Integer to a String or Char format ? Thanx (2 Replies)
Discussion started by: psilva
2 Replies
Login or Register to Ask a Question