Команда Linux join

Linux 命令大全Энциклопедия команд Linux

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

Находит строки с одинаковым содержимым указанного поля в двух файлах, объединяет их и выводит на стандартное устройство вывода.

Синтаксис

join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help][--version][文件1][文件2]

Parameters:

  • -a<1 or 2> Помимо отображения исходного содержимого вывода, также отображает строки в указанном файле, которые не имеют одинакового поля.
  • -e<string> Если указанное поле не найдено в [файл 1] и [файл 2], заполнить вывод строкой из опции.
  • -i или --igore-case Игнорирует различия в регистре при сравнении содержимого полей.
  • -o<format> Отображает результаты в соответствии с указанным форматом.
  • -t<character> Использует символ-разделитель полей.
  • -v<1 or 2> То же, что и -a, но отображает только строки в файле, которые не имеют одинакового поля.
  • -1<field> Объединяет указанное поле из [файл 1].
  • -2<field> Объединяет указанное поле из [файл 2].
  • --help Отображает справку.
  • --version Отображает информацию о версии.

Примеры

Объединяет два файла.

Чтобы ясно понять команду join, сначала используйте команду cat, чтобы отобразить содержимое файлов testfile_1 и testfile_2.

Затем сравните два файла способом по умолчанию, объедините строки с одинаковым содержимым в указанном поле в двух файлах и введите команду в терминале:

join testfile_1 testfile_2 

Сначала просмотрите содержимое файлов testfile_1 и testfile_2:

$ cat testfile_1 #testfile_1文件中的内容  
Hello 95 #例如,本例中第一列为姓名,第二列为数额  
Linux 85  
test 30  
cmd@hdd-desktop:~$ cat testfile_2 #testfile_2文件中的内容  
Hello 2005 #例如,本例中第一列为姓名,第二列为年份  
Linux 2009  
test 2006 

Затем используйте команду join, чтобы объединить два файла; результат будет следующим:

$ join testfile_1 testfile_2 #连接testfile_1、testfile_2中的内容  
Hello 95 2005 #连接后显示的内容  
Linux 85 2009  
test 30 2006 

Позиции файла 1 и файла 2 влияют на результат, выводимый в стандартный вывод. Например, если поменять два файла в команде местами, то есть ввести следующую команду:

join testfile_2 testfile_1

Итоговый результат вывода в стандартный вывод изменится, как показано ниже:

$ join testfile_2 testfile_1 #改变文件顺序连接两个文件  
Hello 2005 95 #连接后显示的内容  
Linux 2009 85  
test 2006 30 

Linux 命令大全Энциклопедия команд Linux

Другие расширения