Классическим инструментом UNIX для этого является join:
NAME
join - join lines of two files on a common field
SYNOPSIS
join [OPTION]... FILE1 FILE2
DESCRIPTION
For each pair of input lines with identical join fields, write a line
to standard output. The default join field is the first, delimited by
blanks.
Однако join i) нуждается в том, чтобы его вход был отсортирован для работы, и ii) может иметь дело только с 2 файлами , Итак, вы можете сделать что-то уродливое и неэлегантное:
Сортируйте каждый файл во втором поле и сохраните его как новый файлsort -k2 file1 > sorted1
sort -k2 file2 > sorted2
sort -k2 file3 > sorted3
Присоедините файлы 1 и 2 к новому файлу, а затем присоединитесь к третьему $ join -j2 --nocheck-order sorted1 sorted2 > newfile
$ join -o 1.2,1.3,2.1,1.1 -1 1 -2 2 --nocheck-order newfile sorted3
10 3 9 Hac.2
1 33 23 Hhe.7
2 15 70 Hpyl.1
Используемые опции: -1 FIELD
join on this FIELD of file 1
-2 FIELD
join on this FIELD of file 2
-j FIELD
equivalent to '-1 FIELD -2 FIELD'
--nocheck-order
do not check that the input is correctly sorted
-o FORMAT
obey FORMAT while constructing output line
FORMAT is one or more comma or blank separated
specifications, each being 'FILENUM.FIELD' or '0'.
Таким образом, эта команда будет соединяться в первом поле первого файла и втором поле второго файла и будет печатать второе поле первого файла (1.2), затем третье поле первого файла (1.3), первое поле второго файла (2.1) и первое поле первого файла (1.1). В качестве альтернативы вы можете комбинировать целая вещь в одной славно сложной команде:
$ join -o 1.1,2.2,2.3,2.1 -1 2 -2 1 --nocheck-order <(sort -k2 file3) \
<(join -j2 --nocheck-order <(sort -k2 file1) <(sort -k2 file2))
9 10 3 Hac.2
23 1 33 Hhe.7
70 2 15 Hpyl.1
Если вам не нравится arcane command line-fu, вы всегда можете использовать небольшой скрипт:
[ f6]Доверчивый ряд ядер 3.13 поддерживается до конца 14.04 LTS, поэтому вам не нужно его обновлять.
Вы не обновите его по следующей ссылке, но это рискованно. Таким образом, вам лучше создать резервную копию вашей системы, прежде чем делать это.
wiki.ubuntu.com/Kernel/LTSEnablementStack
Поддержка и конец жизни описаны по следующей ссылке (прокрутите вниз. ..),
Доверчивый ряд ядер 3.13 поддерживается до конца 14.04 LTS, поэтому вам не нужно его обновлять.
Вы не обновите его по следующей ссылке, но это рискованно. Таким образом, вам лучше создать резервную копию вашей системы, прежде чем делать это.
wiki.ubuntu.com/Kernel/LTSEnablementStack
Поддержка и конец жизни описаны по следующей ссылке (прокрутите вниз. ..),