Обзор
join сравнивает определенные поля двух файлов и объединяет совпадающие строки. Эта команда корректно работает только в том случае, если входные файлы отсортированы по общему полю. Использование с несортированными файлами может привести к неожиданным результатам.
Основные характеристики
- Объединение на основе общих полей двух файлов
- Обязательная сортировка входных файлов
- Управление форматом вывода с помощью различных опций
- Полезно для интеграции данных и создания отчетов
Основные опции
Команда join позволяет детально контролировать критерии объединения, формат вывода и обработку несовпадающих строк с помощью различных опций.
Указание полей и разделителей
Управление выводом
Сгенерированная команда:
Комбинируйте команды.
Описание:
`join` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Узнайте, как эффективно объединять данные из двух файлов, используя различные примеры применения команды join.
Базовое объединение
echo "1 apple\n2 banana" > file1.txt && echo "1 red\n2 yellow" > file2.txt && join file1.txt file2.txt
Объединение на основе первого поля двух файлов. (Создайте файлы перед выполнением)
Объединение по определенному полю
echo "apple 1\nbanana 2" > file3.txt && echo "red 1\nyellow 2" > file4.txt && join -j 2 file3.txt file4.txt
Объединение на основе второго поля двух файлов. (Создайте файлы перед выполнением)
Использование разделителя табуляции
echo -e "id\tname\n1\tAlice\n2\tBob" > users.tsv && echo -e "id\tcity\n1\tSeoul\n3\tParis" > cities.tsv && join -t $'\t' users.tsv cities.tsv
Объединение файлов, разделенных табуляцией. (Создайте файлы перед выполнением)
Включение несовпадающих строк
echo "1 apple\n2 banana\n3 orange" > file5.txt && echo "1 red\n2 yellow" > file6.txt && join -a 1 file5.txt file6.txt
Включает в вывод строки, присутствующие только в первом файле (file5.txt). (Создайте файлы перед выполнением)
Вывод только определенных полей
echo "1 apple\n2 banana" > file7.txt && echo "1 red\n2 yellow" > file8.txt && join -o 1.1,1.2,2.2 file7.txt file8.txt
Выводит первое и второе поля первого файла, а также второе поле второго файла. (Создайте файлы перед выполнением)
Советы и предостережения
Полезные советы и моменты, на которые следует обратить внимание при использовании команды join.
Важные советы
- Сортировка входных файлов: Команда join работает корректно только в том случае, если входные файлы отсортированы по полю объединения. Обязательно предварительно отсортируйте их с помощью команды
sort. Например:sort file1.txt > sorted_file1.txt - Разделитель полей: По умолчанию разделителем является пробел (пробел, табуляция). Для использования другого разделителя используйте опцию
-t. Например, для файлов CSV используйте-t ','. - Управление форматом вывода: С помощью опции
-oможно точно контролировать порядок и включение полей в вывод. Указывайте в форматеНОМЕР_ФАЙЛА.НОМЕР_ПОЛЯ(например,1.2означает второе поле первого файла). - Обработка несовпадающих строк: С помощью опций
-aили-vможно включать не только совпадающие строки, но и несовпадающие, либо выводить только несовпадающие строки.