Problem with AWK script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with AWK script
# 1  
Old 05-11-2009
Problem with AWK script

Help Please
I have 2 files. each file contain 2 columns.1st file 1st column contain symbols (keys-a1..a22..a-x,a-y) and 1st file 2nd column contain values (any like 2344,434323). Secondfile also the same but the values are may be different or not and the symbols (keys) are same but may be repeating, more or less than than 1st file 1st column.

Finding closest values (I would like to sort the data and join the the same keys (Joint and sort commands are not just doing the job I want), Then loop through this data and use an associative array/hash/<whatever> to keep track of the minimum diff between 2nd and 3rd fields for the same key.)

Tyler created some useful scripts but just not enough for this job
I'm inluding the scripts just to give some idea
Quote:

sort -k1,1 ip1 > ip1_sorted; sort -k1,1 ip2 > ip2_sorted
Quote:
$ join ip1_sorted ip2_sorted |
> awk '{
> x = $2>=$3 ? $2 - $3 : $3 - $2
> if (mindiff[$1] == "") {mindiff[$1] = $1":"$2":"$3":"x}
> else {split(mindiff[$1],arr,":"); diff = arr[4]
> if (x < diff) {mindiff[$1] = $1":"$2":"$3":"x}
> }}
> END {
> for (i in mindiff){split(mindiff[i],arr,":"); print arr[1]" "arr[2]" "arr[3]}
> }'
I'm inculding inputfiles just for clarification

$ sorted_input1
a1tab20
a1tab30
a1tab40
a2tab20
a2tab25
a2tab67
axtab45

$ sorted_input2
a1tab20
a1tab45
a2tab89
axtab44
axtab100
axtab98

Output shouldbe

a1tab20tab20
a1tab30tab20
a1tab40tab45
a2tab20tab89
a2tab25tab89
a2tab67tab89
axtab45tab98
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk script problem

Hello guys i have following problem. I'm trying to copy content of one file and paste this content in all .txt files in directory, but at line 15. My script copy the content at first line, not 15. I'm confused how to do this. Thank you in advance for your help! This is my script: ARGS=2 ... (9 Replies)
Discussion started by: r00ty
9 Replies

2. Shell Programming and Scripting

Awk Script Problem

Can someone please explain to me what is wrong with this awk script? echo 74 85 | awk '{ if ( $1 > $2 ) PRESULTS = ( $1 - $2 ); print $0,"=>","P"PRESULTS ; else if ( $1 > $2 ) NRESULTS = ( $2 - $1... (3 Replies)
Discussion started by: SkySmart
3 Replies

3. Shell Programming and Scripting

problem with awk script

Hi, I have two files Hi, I have two files file1 :> Code: val="10" port="localhost:8080"httpadd="http:\\192.168.0.239" file2 :> Code: val=${val} val="pdssx" port=${port}port="1324"httpadd=${httpadd}httpadd="raamraav"fileloc=${fileloc} file3(or file2) should have following... (1 Reply)
Discussion started by: nitin.pathak
1 Replies

4. Shell Programming and Scripting

Awk script Problem

Hi , I am having two files FILE1 and FILE2 as shown below I need to search each and every element of Coulumn1 in the FILE1 in FILE2 and Globally replace with the Corresponding element of the Column2 in the FILE2 , For example and1 which is the first element of COl 1 of the FILE1 should be... (4 Replies)
Discussion started by: jaita
4 Replies

5. Shell Programming and Scripting

Problem with awk script

Hi, I have one csv file with 3 fileds like tmp1.csv 2079|2010Aug|cardilogy 2349|2010Aug|numerology 2213|2010Aug|immunlogy another csv file with code for those specialities spec.csv cardiology|CRD numerology|NMY immunology|IMY i want to replace the contents of file 1 with codes... (2 Replies)
Discussion started by: Man83Nagesh
2 Replies

6. Shell Programming and Scripting

Problem with an awk Script

hello, first, yes i searched the forum , google and read many tutorials but still have a problem with my script. I have great Problems, because i haven't worked with regular expressions before and never had anything to do with shellscripts. i am a complete Newby in this sort of theme. I have... (8 Replies)
Discussion started by: Crashvogel
8 Replies

7. Shell Programming and Scripting

awk script problem

Hi All, I have the following input data: That I'd like to look like this ($2 is the column I'd like it to appear in) where the entries are grouped by date: The code I have at present is: awk 'BEGIN {} { dt = $1 if (dt == dt_prev) { pp = $3 ... (7 Replies)
Discussion started by: pondlife
7 Replies

8. Shell Programming and Scripting

Problem with a AWK Script

Hi I am having some contents in my file like this file1 ########################## pin (PIN1) { direction : input ; capacitance : 121 ; max_transition : 231 ; } pin (PIN2) { direction : input ; capacitance : 124 ; max_transition : 421 ;... (8 Replies)
Discussion started by: kshitij
8 Replies

9. Shell Programming and Scripting

Problem with awk script

Hi Can anyone help me in this Problem File1 ######################### HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG POLI AND TWO SENSE CRYING WING PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND" +PIN TB=" HOT" TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT MAT DAT SAT... (5 Replies)
Discussion started by: kshitij
5 Replies

10. Shell Programming and Scripting

awk script Problem

I wrote a awk but doesnt work as expected. The Input File attached input file My awk Script /^.......*EXEC CICS /,/END-EXEC/ { if ( $0 ~ / LINK / ) { tsflag=1 } if ( $0 ~ /EXEC CICS/ && tsflag == 1 ) ... (6 Replies)
Discussion started by: pbsrinivas
6 Replies
Login or Register to Ask a Question