Оболочка: объединение данных

#shell

#оболочка

Вопрос:

Я пишу сценарий оболочки для объединения данных.
У меня есть 2 файла с разными столбцами.
Один из столбцов одинаков в обоих файлах.

 Like :
File 1:
a   5
c   7
d   9
b   5

File 2:
c   1
d   8
a   6
b   3
  

На данный момент мой скрипт помещает данные в тот же файл с

 paste -d ' ' 'file1'  'file2' > "file3"
  

Я хотел бы знать, возможно ли сопоставить 2 столбца вместе и в порядке, подобном:

 a   5   6
b   5   3
c   7   1
d   9   8
  

Спасибо

Ответ №1:

 sort file1 > file1.tmp
sort file2 > file2.tmp

join -t " " -j 1 file1.tmp file2.tmp
  

Предполагается, что символы и числа разделены ПРОБЕЛОМ

Ответ №2:

Используя замену процесса, вы можете сортировать файлы и объединять их в одной команде.

 join -t " " -j 1 <(sort file1) <(sort file2)
  

Ответ №3:

Используйте sort для сортировки обоих файлов, а затем join для объединения в первом поле.