Vlookup using awk without exact match for two colum input

Source file 1

335 R1-snapfound 0098F RDFType:R1 R2-Dev R2-snapfound ,010C0 RemoteSymmetrixID:345
335 R1-snapfound 00990 RDFType:R1 R2-Dev R2-snapfound ,010C1 RemoteSymmetrixID:345
335 R1-snapfound 009C0 RDFType:R1 R2-Dev R2-snapfound ,009C1 RemoteSymmetrixID:345
335 R1-snapfound 009C1 RDFType:R1 R2-Dev R2-snapfound ,009C2 RemoteSymmetrixID:345
335 R1-snapfound 009C2 RDFType:R1 R2-Dev R2-snapfound ,009C3 RemoteSymmetrixID:345

Source file 2

335 server1_silver 0098F
335 server1_silver 00990
335 server1_silver 009C0
335 server1_silver 00ab4
335 server1_silver 00ab5
335 server1_silver 00ab6

It need to check for third column with each file and append second and third column in output file

Output required

335 server1_silver 0098F R1-snapfound 0098F RDFType:R1 R2-Dev R2-snapfound ,010C0 RemoteSymmetrixID:345
335 server1_silver 00990 R1-snapfound 00990 RDFType:R1 R2-Dev R2-snapfound ,010C1 RemoteSymmetrixID:345
335 server1_silver 009C0 R1-snapfound 009C0 RDFType:R1 R2-Dev R2-snapfound ,009C1 RemoteSymmetrixID:345
335 R1-snapfound 009C1 RDFType:R1 R2-Dev R2-snapfound ,009C2 RemoteSymmetrixID:345
335 R1-snapfound 009C2 RDFType:R1 R2-Dev R2-snapfound ,009C3 RemoteSymmetrixID:345
 awk 'FNR==NR {f2[$3]=$0;next} {print (($3 in f2)?f2[$3] OFS:"") $0}' file2 file1
1 Like

this is working great. How to run if i want to use without case sensitive

Try:

 awk 'FNR==NR {f2[tolower($3)]=$0;next} {print ((tolower($3) in f2)?f2[tolower($3)] OFS:"") $0}' file2 file1
1 Like

Great it was working

As a non-existing element of f2 will yield an empty string if referenced, you might simplify above to

awk 'FNR==NR {f2[tolower($3)]=$0 OFS;next} {print f2[tolower($3)] $0}' file2 file1
335 server1_silver 0098F 335 R1-snapfound 0098F RDFType:R1 R2-Dev R2-snapfound ,010C0 RemoteSymmetrixID:345
335 server1_silver 00990 335 R1-snapfound 00990 RDFType:R1 R2-Dev R2-snapfound ,010C1 RemoteSymmetrixID:345
335 server1_silver 009C0 335 R1-snapfound 009C0 RDFType:R1 R2-Dev R2-snapfound ,009C1 RemoteSymmetrixID:345
335 R1-snapfound 009C1 RDFType:R1 R2-Dev R2-snapfound ,009C2 RemoteSymmetrixID:345
335 R1-snapfound 009C2 RDFType:R1 R2-Dev R2-snapfound ,009C3 RemoteSymmetrixID:345