Команда Linux join
Команда 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