DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Shell Scripting (http://www.daniweb.com/forums/forum113.html)
-   -   Urgent: Help on grep the nearest value using bash script (http://www.daniweb.com/forums/thread116912.html)

ahjiefreak Apr 2nd, 2008 1:28 am
Urgent: Help on grep the nearest value using bash script
 
Hi,

I have a list of data in text files with :-
ColA ColB ColC ColD ColE ColF
12 122 2280 30 0.012987 1.776
13 118 2280 30 0.012987 1.954
14 115 2620 30 0.011321 2.131
15 113 2654 30 0.011177 2.309
16 145 1882 25 0.013110 2.487
17 112 2817 30 0.010537 2.664
18 126 2833 30 0.010479 2.842
19 111 2833 30 0.010479 3.020
16 145 1882 25 0.013110 2.487
17 112 2817 30 0.010537 2.664

How could I grep the nearest number to <=3.000 using bash script?

Means in the end i would like to isolate numbers in ColF which last seen the value <= 3.000 which is

18 126 2833 30 0.010479 2.842


Please help. Thanks.

eggi Apr 3rd, 2008 11:46 pm
Re: Urgent: Help on grep the nearest value using bash script
 
Hey there,

This was bugging me all last night, and I finally figured out what my problem was ;)

This should do the trick for you:

awk 'BEGIN {var=3; highest=0}{ j = $NF;if ( j < var && j > highest ) { highest=j} } END {print highest}' YourInputFile

That gave me

2.842

from the text you pasted in this post. There's probably a more elegant solution out there, but this'll do the trick for now :)

Best wishes :)

, Mike

eggi Apr 3rd, 2008 11:48 pm
Re: Urgent: Help on grep the nearest value using bash script
 
Actually, oops, you can change the

j < var

part to

j <= var

just noticed that :)

awk 'BEGIN {var=3; highest=0}{ j = $NF;if ( j <= var && j > highest ) { highest=j} } END {print highest}' YourInputFile

, Mike

ghostdog74 Apr 5th, 2008 6:38 am
Re: Urgent: Help on grep the nearest value using bash script
 
awk '$NF <=3 {a[NR]=$NF;c[a[NR]]=$0}
END{
 n=asort(a,b)
 print c[b[n]]
}' file
output:
# ./test.sh
18 126 2833 30 0.010479 2.842

eggi Apr 5th, 2008 11:28 pm
Re: Urgent: Help on grep the nearest value using bash script
 
I knew there was a better answer out there :)

GhostDog74, you are an awk master! If you don't mind me posting this here, could you point me to a good awk tutorial on the web. I'd like to better understand a lot of programmatical aspects of it.

Thanks in advance and good stuff :)

Cheers,

Mike

ghostdog74 Apr 5th, 2008 11:58 pm
Re: Urgent: Help on grep the nearest value using bash script
 
Quote:

Originally Posted by eggi (Post 578210)

GhostDog74, you are an awk master!

no i am not. there are many who are better:)


Quote:

If you don't mind me posting this here, could you point me to a good awk tutorial on the web. I'd like to better understand a lot of programmatical aspects of it.
this is where i learn AWK/SED. Also grymoire is worth a look

eggi Apr 6th, 2008 7:18 pm
Re: Urgent: Help on grep the nearest value using bash script
 
Cool,

Thank you very much :) I'll definitely check out these links (already adding them to my favorites).

You're very humble and come up with some excellent answers. I'm sure I'll see more in the future and I look forward to it :)

Thanks, again!

, Mike


All times are GMT -4. The time now is 1:16 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC