Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

-anЗадает включение в выходной поток строк из файла n (n -l или 2), для которых не было найдено ни одного совпадения по указанному полю.
-oформатЗадает формат выводимой строки. Параметр формат представляет собой разделенный запятыми или пробелами список спецификаций, каждая из которых, в свою очередь, имеет формат номер_файла. поле. По умолчанию формат выводимой строки таков:
1 — поле, по которому производится объединение;
2 -oставшаяся часть первой строки;
3 -oставшаяся часть второй строки.
-1полеОбъединять строки по указанному полю первого файла (по умолчанию таковым является первое поле)
-2полеОбъединять строки по указанному полю второго файла (по умолчанию таковым является первое поле)
-tсимволЗадает разделитель полей во входном и выходном потоках

11.3.1. Объединение двух файлов

Предположим, имеется два текстовых файла: один называется names.txt и содержит имена пользователей с указанием улиц, на которых они проживают, а другой называется town.txt и содержит имена пользователей с указанием городов, в которых они живут.

$ cat names.txt

M. Golls 12 Hidd Rd

P. Heller The Acre

P. Willey 132 The Grove

T. Norms 84 Connaught Rd

K. Fletch 12 Woodlea

$ cat town.txt

M. Golls Norwich NRD

P. Willey Galashiels GDD

T. Norms Brandon BSL

K. Fletch Mildenhall MAF

Задача состоит в таком соединении двух файлов, чтобы итоговый файл содержал имена пользователей и их полные адреса. Очевидно, что общим полем является первое. Команда join по умолчанию выполняет объединение файлов именно по первому полю.

$ join names.txt town.txt

M. Golls 12 Hidd Rd Norwich NRD

P. Willey 132 The Grove Galashiels GDD

T. Norms 6-3 Connaught Rd Brandon BSL

K. Fletch 12 Woodlea Mildenhall MAF

Как видите, пользователь P. Heller, для которого нет строки во втором файле, в результаты работы команды join не попал.

11.3.2. Включение несовпадающих строк

Если требуется все‑таки включить информацию о пользователе P. Heller в выходные данные, воспользуйтесь опцией -a. Поскольку исходная строка находится в первом файле, параметром данной опции будет цифра 1:

$ join -a1 names.txt town.txt

M. Golls 12 Hidd Rd Norwich NRD

P. Heller The Acre

P. Willey 132 The Grove Galashiels GDD

T. Norms 84 Connaught Rd Brandon BSL

K. Fletch 12 Woodlea Mildenhall MAF

В общем случае, чтобы включать в результаты несовпадающие строки из обоих файлов, применяйте команду join -a1 -a2.

11.3.3. Задание формата вывода

Опция -o позволяет указать, какие поля и в какой последовательности следует включать в формируемую строку. Допустим, нужно создать файл, который включает только имена пользователей и названия городов, в которых они проживают. Требуемая информация содержится в первом поле первого файла и втором поле второго файла. Соответствующая команда имеет следующий вид:

$ join -о 1.1,2.2 names.txt town.txt

M. Golls Norwich

P. Willey Galashiels

T. Norms Brandon

K. Fletch Mildenhall

11.3.4. Выбор ключевого поля

He всегда первое поле является общим для обоих файлов. Рассмотрим пример. Имеются два файла:

$ cat pers

P. Jones Office Runner ID897

S. Round UNIX admin ID667

L. Clip Personl Chief ID982

$ cat pers2

Dept2C ID897 6 years

Dept3S ID667 2 years

Dept5Z ID982 1 year

Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Тристан Таормино , Литагент «5 редакция»

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии
Путь менеджера от новичка до гуру
Путь менеджера от новичка до гуру

«Путь менеджера» – это сборник лучших материалов online-сообщества (learning community) менеджеров E-xecutive за пять лет (2001–2005), которые впервые публикуются offline. Возможно, это книга с самым большим количеством авторов: 20 сотрудников E-xecutive и более 200 участников Сообщества писали, выбирали и редактировали материалы.Книга представляет собой «карту местности» для менеджера, стремящегося найти кратчайший путь к успеху, на которой отображены открытия лучших «картографов» – всемирно признанных бизнес-гуру и успешных российских топ-менеджеров. Эта книга о том, чем в действительности живут менеджеры, о чем не пишут в учебниках, и предназначается она для тех, кто стремится не только к карьерному успеху, но и к настоящей эффективности, личностному и профессиональному развитию.

Сообщество менеджеров E-xecutive

Руководства / Словари и Энциклопедии