$ cat file1.txt gene1 1234 78975 gene13 9876 ldlgfjk $ cat file2.txt gene1 abc gene13 xyz $ join -t ' ' file1.txt file2.txt gene1 1234 78975 abc gene13 9876 ldlgfjk xyz $ awk 'FNR == NR { a[$1] = $2; next } { print $0, a[$1] }' \ > FS='\t' OFS='\t' file2.txt file1.txt gene1 1234 78975 abc gene13 9876 ldlgfjk xyz $