English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux join命令

Linux-Befehlsverzeichnis

Linux join命令用于将两个文件中,指定栏位内容相同的行连接起来。

找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。

语法

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

参数

  • -a<1oder2>   除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。

  • -e<字符串>   若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。

  • -i或--igore-case   比较栏位内容时,忽略大小写的差异。

  • -o<格式>   按照指定的格式来显示结果。

  • -t<字符>   使用栏位的分隔字符。

  • -v<1oder2> - Nach-a sind gleich, aber nur die Zeilen ohne gleiche Spalte in der Datei werden angezeigt.

  • -1<Spalte> - Verbinde [Datei1]angegebene Spalte.

  • -2<Spalte> - Verbinde [Datei2]angegebene Spalte.

  • --help - Zeige Hilfe.

  • --version - Zeige Versionsinformationen.

Online-Beispiel

Verbinden Sie zwei Dateien.

Um den join-Befehl klar zu verstehen, zeigen Sie zunächst die Datei testfile_ mit dem cat-Befehl an, um die Datei zu verbinden.1und testfile_2 Inhalte.

Dann vergleichen Sie die beiden Dateien in der Standardweise, verbinden Sie die Zeilen mit dem gleichen Inhalt der angegebenen Felder in den beiden Dateien, geben Sie den folgenden Befehl im Terminal ein:

join testfile_1 testfile_2

Zunächst überprüfen Sie testfile_1、testfile_2 Inhalte der Datei:

$ cat testfile_1 #testfile_1Inhalte der Datei  
Hallo 95 #Zum Beispiel, in diesem Beispiel ist die erste Spalte der Name, die zweite Spalte der Betrag  
Linux 85  
test 30  
cmd@hdd-desktop:~$ cat testfile_2 #testfile_2Inhalte der Datei  
Hallo 2005 #Zum Beispiel, in diesem Beispiel ist die erste Spalte der Name, die zweite Spalte das Jahr  
Linux 2009  
test 2006

Dann verwenden Sie den join-Befehl, um die beiden Dateien zu verbinden, das Ergebnis ist wie folgt:

$ join testfile_1 testfile_2 #Verbindung von testfile_1、testfile_2inhalte  
Hallo 95 2005 #Angezeigte Inhalte nach der Verbindung  
Linux 85 2009  
test 30 2006

Datei1mit der Datei2Die Position im Ausgabeergebnis der Standardausgabe hat einen Einfluss. Zum Beispiel, indem die beiden Dateien im Befehl vertauscht werden, wird der folgende Befehl ausgeführt:

join testfile_2 testfile_1

Die endgültigen Ausgabe auf der Standardausgabe wird wie folgt geändert:

$ join testfile_2 testfile_1 #Verbindung der Dateien in der Reihenfolge ändern  
Hallo 2005 95 #Angezeigte Inhalte nach der Verbindung  
Linux 2009 85  
test 2006 30

Linux-Befehlsverzeichnis