comparing numbers in a file


 
Thread Tools Search this Thread
# 1  
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  
I would use 'bc' to do comparisons.
# 3  
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  
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  
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  
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  
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

 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #717
Difficulty: Medium
A universal Turing machine can calculate any recursive function, decide any recursive language, and accept any recursively enumerable language.
True or False?

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

Featured Tech Videos