11.3. Объединение файлов с помощью команды join

11.3. Объединение файлов с помощью команды join

Команда join выполняет соединение строк из двух текстовых файлов на основании совпадения указанных полей. Ее действие напоминает операцию join языка SQL. Механизм работы команды таков:

   1. Каждый из двух входных файлов разбивается на поля (по умолчанию разделителем полей является пробел).

   2. Из первого файла извлекается первая строка, а из нее — первое поле (можно указать другое поле).

   3. Во втором файле ищется строка, имеющая такое же первое поле.

   4. Найденная строка, из которой удаляется первое поле, присоединяется к исходной строке, и результат записывается в выходной поток.

   5. Пункты 3 и 4 повторяются до тех пор, пока во втором файле есть строки с совпадающим первым полем.

   6. Пункты 2—6 повторяются для каждой строки первого файла.

Таким образом, в выходной поток попадают только строки, имеющие общие компоненты.

Общий формат команды join таков:

join [опции] входной_файл1 входной_файл2

Рассмотрим некоторые наиболее важные опции этой команды:

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

Следующая глава >

Похожие главы из других книг

4.1. Объединение HTML- и CSS-файлов

Из книги Разгони свой сайт автора Мациевский Николай

4.1. Объединение HTML- и CSS-файлов Число запросов является наиболее узким местом при загрузке страницы. По последним исследованиям, порядка 40% времени загрузки уходит только на установление новых соединений с сервером. В этом свете любые методы, позволяющие уменьшить число


4.2. Объединение JavaScript-файлов

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

4.2. Объединение JavaScript-файлов Все внешние JavaScript-файлы с сайта можно слить в один большой, загружаемый только один раз и навсегда. Это очень удобно: браузер не делает тысячу запросов на сервер для отображения одной страницы, скорость загрузки резко повышается. А


4.7. Команды архивирования файлов

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

4.7. Команды архивирования файлов При работе с Linux вы, может быть, еще не скоро встретитесь с необходимостью работать с большинством консольных команд, поскольку имеются такие оболочки, как Midnight Commander или графические оболочки типа KDE. Но с командами архивирования (точнее,


Завершение процесса с помощью команды KILL

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Завершение процесса с помощью команды KILL В SQL Server администратор может удалить процесс, например пользовательское подключение или блокировку базы данных, с помощью команды KILL. Обычно эта команда применяется для чрезвычайного прекращения пользовательского сеанса,


14.6.4 Команды пересылки файлов

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

14.6.4 Команды пересылки файлов Команды из таблицы 14.4 применяются с целью установки соединения для данных, копирования файлов и восстановления при перезапуске.Таблица 14.4 Команды поддержки пересылки файлов Команда Определение Параметр(ы) ALLO Выделяет (резервирует)


16.1. С помощью команды exec

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

16.1. С помощью команды exec Команда exec <filename перенаправляет ввод со stdin на файл. С этого момента весь ввод, вместо stdin (обычно это клавиатура), будет производиться из этого файла. Это дает возможность читать содержимое файла, строку за строкой, и анализировать каждую введенную


11.1. Сортировка файлов с помощью команды sort

Из книги автора

11.1. Сортировка файлов с помощью команды sort Команда sort позволяет выполнять сортировку входного потока по различным полям (ключам сортировки). Это довольно мощная команда, которая весьма полезна при обработке журнальных файлов или реорганизации текстовых столбцов в


11.1.16. Объединение двух отсортированных файлов

Из книги автора

11.1.16. Объединение двух отсортированных файлов Прежде чем объединять два файла, их необходимо отсортировать, иначе результат будет неотсортированным. Предположим, нам прислали файл video2.txt, содержащий дополнения к уже имеющемуся перечню фильмов, причем этот файл


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

Из книги автора

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


11.4. Вырезание текста с помощью команды cut

Из книги автора

11.4. Вырезание текста с помощью команды cut Команда cut позволяет вырезать фрагменты строк из текстовых файлов или из стандартного входного потока. Извлеченный подобным образом текст направляется в стандартный выходной поток. Общий формат команды cut таков:cut [опции]


11.5. Вставка текста с помощью команды paste

Из книги автора

11.5. Вставка текста с помощью команды paste С помощью команды cut отдельные символы и целые поля извлекаются из текстовых файлов или стандартного входного потока. Команда paste выполняет противоположное действие: она вставляет в выходной поток содержимое входных файлов. Прежде


20.2.5. Использование команды getopts для преобразования файлов

Из книги автора

20.2.5. Использование команды getopts для преобразования файлов А теперь воспользуемся сценарием tr_case, который преобразуем с помощью только что изученной команды getopts. Существует единственное отличие между методами getopts и shift, применяемыми для обработки опций командной строки.


7.9. Объединение задач в группы с помощью GCD

Из книги автора

7.9. Объединение задач в группы с помощью GCD Постановка задачи Требуется объединять блоки кода в группы и гарантировать, что GCD будет выполнять все задачи одну за другой, выстраивая таким образом зависимости между