comparing numbers in a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers comparing numbers in a file
# 1  
Old 09-20-2007
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 id "09202007" as being the largest number read in?

Thanks much!
# 2  
Old 09-20-2007
I would use 'bc' to do comparisons.
# 3  
Old 09-21-2007
Hi.

Command sort is very good at comparisons. It may take some manipulation ingenuity to get the numeric strings in an appropriate form, but once obtained, such a method would be very scalable ... cheers, drl
# 4  
Old 09-21-2007
Assuming that the numbers are in a variable, something like this will work:

Code:
a="09192007 09202007 09182007 09172007 09162007"
echo $a | tr ' ' '\n' | sort
09162007
09172007
09182007
09192007
09202007

You can tr the '\n' back to ' ' later if you want.

If the numbers are in a file, you can use a similar method:
Code:
tr ' ' '\n' < /file/with/numbers | sort 
09162007
09172007
09182007
09192007
09202007

# 5  
Old 09-21-2007
just for that one line of numbers in that file

output:
Code:
# awk '{for ( i=1;i<=NF;i++) if ( temp < $i ){temp=$i }}END { print temp }' "file"
09202007

# 6  
Old 09-21-2007
This is cheating a little bit. Smilie Very quick, though.
Code:
$ cat largest
#! /usr/bin/ksh
a="09192007 09202007 09182007 09172007 09162007"
eval set -s -A  n  $a
echo ${n[${#n[*]}-1]}
$ ./largest
09202007
$

# 7  
Old 09-21-2007
With the Z-Shell:

Code:
zsh 4.3.4% v=(09192007 09202007 09182007 09172007 09162007)
zsh 4.3.4% print ${${(On)v}[1]}                         
09202007

Or, in this case, just:
Code:
zsh 4.3.4% print  ${${(O)v}[1]} 
09202007

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl for comparing numbers from previous lines in a file?

Hi everyone I have a question for you, as I am trying to learn more about Perl and work with some weather data. I have an ascii file (shown below) that has 10 lines with different columns. What I would like is have Perl find an "anomalous" value by comparing a field with the values from the last... (2 Replies)
Discussion started by: lucshi09
2 Replies

2. Shell Programming and Scripting

Comparing two files with numbers and taking difference in third file

Hi All, I have two files in the following format, with numbers being defined under columns(described by a set of headers) and rows(again defined by a set of identifiers) 2013 2013 Make200 Make201 Merc BMW Jpur Del ... (9 Replies)
Discussion started by: dev.devil.1983
9 Replies

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

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

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

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

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

8. UNIX for Dummies Questions & Answers

Comparing Version Numbers

Hi There! Apologies if this has been asked previously but I couldn't find the answer I was hoping for. Basically, all I want to do is compare the OS X version against the version that I require in my script. So I'm retrieving the OS version using defaults read, but how can I compare this... (10 Replies)
Discussion started by: davewg
10 Replies

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

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