how to compare string & integer in unix


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to compare string & integer in unix
# 1  
Old 10-24-2008
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 executing second command i am getting :
00000000000000000027720.75000

if i compare it, i am getting these values are not equal. Can someone help me. what should i change so that it can work.
# 2  
Old 10-24-2008
Well there are lot of options, trimming leading zeroes and doing compare..
below is one of the option..
chk_sum=`tail -1 $FILE_NAME | cut -d~ -f7 | cut -c2-|awk '{print "%.5f",$0}'`
# 3  
Old 10-24-2008
Try this

Code:
chk_sum=`tail -1 $FILE_NAME | cut -d~ -f7 | cut -c2- | sed 's/^0*//' `

This will trim leading zeros from chk_sum and then you can compare.
# 4  
Old 10-24-2008
Hammer & Screwdriver Let bc (calculator) handle this

Code:
> val1=27720.75000
> val2=00000000000000000027720.75000
> echo $val1
27720.75000
> echo $val2
00000000000000000027720.75000
> echo $val1 - $val2 | bc
0
> if [ `echo $val1 - $val2 | bc` -eq 0 ]; then echo "EQUAL"; fi
EQUAL
>

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

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

3. 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

4. Shell Programming and Scripting

how to compare string integer with an integer?

hi, how to I do this? i="4.000" if ; then echo "smaller" fi how do I convert the "4.000" to 4? Thanks! (4 Replies)
Discussion started by: h0ujun
4 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

bash integer & string issue

Hi guys, I need for the bash code below a little bit help: cat script.sh #!/bin/bash 5_MYVALUE="test" echo "$5_MYVALUE" If I try to run the script, got follow failure: ./script.sh ./script.sh: line 4: 5_MYVALUE=test: command not found _MYVALUE My questions are how... (4 Replies)
Discussion started by: research3
4 Replies

7. 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

8. Shell Programming and Scripting

PHP read large string & split in multidimensional arrays & assign fieldnames & write into MYSQL

Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP. I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
Discussion started by: lowmaster
0 Replies

9. 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

10. 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
Login or Register to Ask a Question