KSH and AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting KSH and AWK
# 1  
Old 08-17-2010
Lightbulb KSH and AWK

Howdy, I'm new to awk and am writing scripts primarily in ksh. What I'm trying to do is use awk to go through a list which contains multiple fields and four columns. I need awk to find and print a couple of columns that contain the lowest value.

e.g.
Jim ABC xyz 12.5
Jack ACB jhi 12.7
Capt BCD jhi 20.2
Morgan BCD xyz 17.3

I need awk to first search only those entries that have jhi, of those jhi entries, I'd like to awk find the lowest value of column 4 (in this case 12.7). Once I find that, I need to print column and column 2.

What I've figured out thus far is:
Code:
awk '$3 == "jhi" {print $4}' input_file | sort | awk 'NR == 1'

That gets me to the lowest value of column 4 (12.7), but I need to somehow go back and get column 1 (Jack) to print. Any ideas?Smilie

Last edited by jim mcnamara; 08-17-2010 at 05:30 PM.. Reason: code tags, please
# 2  
Old 08-17-2010
try:
Code:
sort -n -k4 inputfile | awk '!arr[$3]++' > outputfile

# 3  
Old 08-17-2010
And 12.5 is the lowest not 12.7.

Code:
#awk '{ print $4" "$1 | "sort" }' myFile | head -1

12.5 Jim

# 4  
Old 08-17-2010
If you'd like to sort it, try this:
Code:
grep jhi urfile |sort -k4rn |tail -1 |awk '{print $1}'

or by awk:

Code:
awk '
BEGIN{a=99999999}
/jhi/ {if ($NF<a) {a=$NF;b=$1}}
END{print b}
' urfile

Jack

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using awk command in ksh

I am trying to use awk command withing ksh. ksh "echo \"my name\" | awk '{print $2}'" I am getting out as : my name Expected output: name When I use echo "my name" | awk '{print $2}' I am getting the correct output: name I am not sure what mistake I am doing when using awk... (1 Reply)
Discussion started by: Bala_db2
1 Replies

2. Shell Programming and Scripting

Formatting output using awk in ksh

:oi was trying to write a script to format output of a command in ksh which has output as below: so i used : to get which i require at all times. But problem occurs when status part changes. above output i get when status is SU (success).If the status is IN (inactive), output of... (1 Reply)
Discussion started by: pr5439
1 Replies

3. Shell Programming and Scripting

ksh passing to awk multiple dyanamic variables awk -v

Using ksh to call a function which has awk script embedded. It parses a long two element list file, filled with text numbers (I want column 2, beginning no sooner than line 45, that's the only known thing) . It's unknown where to start or end the data collection, dynamic variables will be used. ... (1 Reply)
Discussion started by: highnthemnts
1 Replies

4. Shell Programming and Scripting

G/AWK and ksh troubles

Alright, so I've been banging my head against the wall for the past 7 hours trying to figure this out :wall:. What I'm trying to do is "unwrap" periodic coordinates from a molecular simulation to put them back in their unit cell box. I've accomplished that little bit of magic easily enough, but... (6 Replies)
Discussion started by: DEC014
6 Replies

5. Shell Programming and Scripting

awk or nawk in ksh

I am trying to use either awk or nawk in ksh88 to grep the word "Reason" in multiple files and than print the lines that say "Reason" in a particular format that is different from how they would normally print. The original input is as follows: ... (10 Replies)
Discussion started by: ther2000
10 Replies

6. Shell Programming and Scripting

for loop in awk script using ksh

Guys, I am new in awk , I face problem while i try to use for loop in awk, I am using ksh, i am trying to set a for loop which runs as man times as the records in a file , the for loop like for(a=1;a<=5;a++) is working in my awk script but the one i need is not working :wall: for example ... (8 Replies)
Discussion started by: djahmed
8 Replies

7. Shell Programming and Scripting

KSH AWK

Hello, How can i use awk '{print substr($1...... is order to grep a parameter from the first time i encounter a specific characther. I.e ABC=ahaakl/123456/ksksk i want to grep only 123456 (It must be using awk substr) thanks. (3 Replies)
Discussion started by: LiorAmitai
3 Replies

8. Shell Programming and Scripting

Using AWK in IF evaluation in KSH

Hi - I have an expression that evaluates to "Alive" or some other condition. e.g. if I run :- awk -F \| '{gsub(/]*/,"",$4); print $4 }' then the output is "Alive". I want to be able to test this as the result may be some other condition other than "Alive". I have tried the following... (4 Replies)
Discussion started by: sniper57
4 Replies

9. Shell Programming and Scripting

awk in ksh

Hi all, I have .ksh script, which is doing different things like creating output files, renaming them, sending them via ftp and save a backup of the files on the application server. Now I'd like to edit this file to be able to split the incoming file into 4 different files. Therefor the... (6 Replies)
Discussion started by: spidermike
6 Replies

10. Shell Programming and Scripting

ksh and awk interaction

in a ksh script, i want to process some string variables using awk, and then i want to go on using this variables in the same ksh (out of awk lines) can anybody send me a very simple example about this? (0 Replies)
Discussion started by: gfhgfnhhn
0 Replies
Login or Register to Ask a Question