#!/bin/bash awk -F "\t" ' function trim(str){ sub(/^[ \t]*/,"",str); sub(/[ \t]*$/,"", str); return str; } NR==FNR{ a[trim($1)] = $0 } NR > FNR{ if(a[trim($4)]){ print $0"\t"a[$4] }else{ #print trim($4) } } ' result_2 ueg