Есть много способов сделать это; вот один:
join -o '0,1.2,1.3,2.2,2.3,2.4' -a1 -e 'NA' <(sort file1.txt) <(sort file2.txt) | awk '{printf "%-7s %-7s %-7s %-7s %-7s %7s\n",$1,$2,$3,$4,$5,$6}' | sort -nk1
ввод:
файл 1:
ID address phone
123 jordan 123
456 usa 144
789 bla 606
101 bla 1616
файл 2:
ID City Zipcode if_travel
123 amman 2222 yes
456 zarqa 3030 no
вывод:
ID address phone City Zipcode if_travel
101 bla 1616 NA NA NA
123 jordan 123 amman 2222 yes
456 usa 144 zarqa 3030 no
789 bla 606 NA NA NA