пересечение двух файлов в соответствии с первым столбцом

У меня есть два файла в файле A, в другом файле B есть sequence_numbers, есть много столбцов, а первый столбец – номера sequnce, я хочу получить файлы со всеми строками в B с номерами последовательностей, которые находятся в как я могу это достичь? благодаря

как файл A

1 3 8 9 20 

файл B

 1 kfjk 3243424 2 fkdkf 23543592 3 iefjk 21493402 7 dlafdl 23435231 8 kfkdlkf 309834 

Вы хотите join (1) , я думаю:

Для каждой пары входных строк с одинаковыми полями объединения напишите строку на стандартный вывод. Поле объединения по умолчанию является первым, ограниченным пробелом. Когда FILE1 или FILE2 (не оба) – -, прочитайте стандартный ввод.

 [0 1075 12:50:10] ~/temp/sx % join AB 1 kfjk 3243424 3 iefjk 21493402 8 kfkdlkf 309834 join: file 1 is not in sorted order 

Хорошо, поэтому, видимо, вам нужно объединить это с sort (1) для сортировки по значению альфа (не численное значение, поэтому 20 <3)

join <(sort A) <(sort B) работает для меня, но это выглядит странно и может быть расширением zsh. Нет никакого вреда в этом

 sort A > A.tmp; sort B > B.tmp; join A.tmp B.tmp 

(Как обычно, проверьте страницы руководства для ловушек.)