Обработка несоответствующих записей
В реальных сценариях могут быть записи в одном файле, для которых нет соответствующих записей в другом файле. Симулируем это, добавив нового сотрудника, которому еще не назначена зарплата.
Добавьте этого сотрудника в файл employees.txt
:
echo "1006 Alex IT" >> employees.txt
Оператор >>
добавляет новую строку в конец файла без перезаписи существующего содержимого.
Теперь, если мы запустим нашу базовую команду объединения:
join employees.txt salaries.txt
Вы заметите, что Алекс не появляется в выводе, потому что в файле salaries.txt
нет соответствующей записи.
Для включения несоответствующих записей можно использовать опцию -a
:
join -a 1 employees.txt salaries.txt
Теперь вы должны увидеть Алекса в выводе:
1001 John Engineering 75000
1002 Sarah Marketing 65000
1003 Mike Sales 70000
1004 Emily HR 60000
1005 David Finance 80000
1006 Alex IT
Опция -a 1
сообщает команде join
включить несоответствующие строки из первого файла (employees.txt
). Это полезно, когда вы хотите увидеть все записи из одного файла, даже если для них нет соответствий в другом файле.