7.22 Объединить строки по общим полям contents

7.22 Объединить строки по общим полям

Использование программы:
join [option]... file1 file2

Файлы с именами file1 и file2 должны содержать уже отсортированные файлы в возрастающем порядке (не числовом) по объединяемым полям. Если не указан параметр -t они должны быть отсортированы игнорируя пробелы в начале объединяемого поля, как после программы sort с параметром -b. Если используется параметр -ignore-case, то строки должны быть отсортированы невзирая на регистр в объединямом поле, как после программы sort с параметром -f.

По умолчанию: объединяемое поле является первым полем в каждой строке; поля на вводе разделены одним или более пробелами, ведущие пробелы в строках игнорируются; поля на выводе отделяются пробелом; каждая выводная строка состоит из объединяемого поля, за которым следует остаток строки из файла file1, а затем остаток строки из файла file2.

Программа join воспринимает следующие значения поля option.

-a file-number
Вывести строку для каждой непарной строки в файле file-1 или file-2 в дополнение к обычному выводу.

-e string
Заместить отсутствующие поля на вводе подстрокой string.

-i
-ignore-case
Игнорировать различие регистров (т.е. g должно означать то же, что G). Вводные строки должны быть отсортированы тем же способом. Для такой сортировки можно использовать sort -f.

-1 field
-j1 field
Объединить по полю field (положительное целое) файла file1.

-2 field
-j2 field
Объединить по полю field (положительное целое) файла file2.

-j field
Эквивалентно -1 field и -2 field.

-o field-list...
Сконструировать каждую выводную строку в соответствии с форматом field-list. Каждый элемент field-list может состоять из одиночного символа O или имеет форму M.N, где M может быть 1 или 2 (номер файла), а N - это номер поля.

Поле, обозначенное как O, является полем объединения. В большинстве случает функциональность спецификации с помощью O может быть реализована с помощью явного описания типа M.N, которое соответствует полю объединения. Однако, если встречаются непарные строки во вводных файлах, то описание типа M.N не имеет возможности описать поле объединения.

Элементы в field-list разделены запятыми или пробелами. После параметра -o можно использовать несколько полей field-list; все они будут соединены вместе. Все выводные строки включая те, которые сгенерированы параметрами -a и -v, являются объектами описания в field-list.

-t char
Использовать символ char в качестве символа разделителя полей на вводе и выводе.

-v file-number
Вывести строку для каждой непарной вводной строки в файле file-number (1 или 2) вместо обычного вывода.

<


contents
Обновлено: 16.03.2015