Сравните 1-й столбец 1-го файла и 2-й столбец второго файла и получите результат следующим образом

Файл1: файл Excel (.xls)

UN ID St M1 M2 SE DOF PV PA FC 17127159 0 -5.9 297.3 765.7 0.22 4 0.003 0.00389231 2.57536 17127163 2 -3.87 189.914 492.307 0.3548 4 0.0179 0.01795 2.59226 17127167 4 -3.8908 339.136 855.276 0.3429 4 0.0176 0.017 2.52192 17127171 6 -3.922 390.44 986.365 0.340 4 0.0172179 0.01721 2.52627 17127175 8 -4.715 536.072 1210.65 0.2492 4 0.00920158 0.00920 2.258 

Файл2: текстовый файл (.txt)

 UNIT_ID UN TID XE GG7 JO 0 17127159 16657436 353.568 335.295 221.717 815.654 684.85 1 17127161 16657436 11.0842 7.01459 7.33511 11.2121 12.6268 2 17127163 16657450 221.647 226.774 136.274 431.32 392.533 3 17127165 16657452 5.02182 3.41172 4.12834 6.90306 4.91183 

Если 1-й столбец 1-го файла совпадает со вторым столбцом второго файла, результат должен выглядеть следующим образом:

 UN FC TID XE GG7 JO 17127159 2.57536 16657436 353.568 335.295 221.717 815.654 684.85 17127163 2.59226 16657450 221.647 226.774 136.274 431.32 392.533 

Заранее спасибо.

С awk :

 $ awk 'NR==FNR{a[$2]=$3"\t"$4"\t"$5"\t"$6"\t"$7"\t"$8; next} { if($1 in a){ print $1,$10,a[$1] } }' file2 file1 UN FC TID XE GG7 JO 17127159 2.57536 16657436 353.568 335.295 221.717 815.654 684.85 17127163 2.59226 16657450 221.647 226.774 136.274 431.32 392.533 

Если интервал важен (это не для большинства программ, но может быть для людей), вы можете сделать:

 $ awk 'NR==FNR{ a[$2]=sprintf("%-10s%-10s%-10s%-10s%-10s%-10s",$3,$4,$5,$6,$7,$8); next; } { if($1 in a){ printf("%-10s%-10s%10s\n", $1,$10,a[$1]) } }' file2 file1 UN FC TID XE GG7 JO 17127159 2.57536 16657436 353.568 335.295 221.717 815.654 684.85 17127163 2.59226 16657450 221.647 226.774 136.274 431.32 392.533 

вот что-то, что может помочь вам попытаться найти больше в Интернете …

 awk 'FNR==NR{a[$2]=$3;next}{print $0,a[$2]?a[$2]:"NA"}' file2 file1