Linux join-Befehl

Linux 命令大全Linux-Befehlsenzyklopädie

Der Linux-Befehl join wird verwendet, um Zeilen mit demselben angegebenen Feldinhalt in zwei Dateien zu verbinden.

Findet Zeilen mit demselben angegebenen Feldinhalt in zwei Dateien, führt sie zusammen und gibt sie auf dem Standardausgabegerät aus.

Syntax

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

Parameters:

  • -a<1 or 2> Zusätzlich zur Anzeige des ursprünglichen Ausgabeinhalts werden auch Zeilen in der Anweisungsdatei angezeigt, die nicht dasselbe Feld haben.
  • -e<string> Wenn das angegebene Feld in [Datei 1] und [Datei 2] nicht gefunden werden kann, wird die Ausgabe mit der Zeichenfolge in der Option gefüllt.
  • -i oder --igore-case Ignoriert Unterschiede in der Groß-/Kleinschreibung beim Vergleichen von Feldinhalten.
  • -o<format> Zeigt Ergebnisse gemäß dem angegebenen Format an.
  • -t<character> Verwendet das Feldtrennzeichen.
  • -v<1 or 2> Wie -a, zeigt jedoch nur Zeilen in der Datei an, die nicht dasselbe Feld haben.
  • -1<field> Verbindet das angegebene Feld von [Datei 1].
  • -2<field> Verbindet das angegebene Feld von [Datei 2].
  • --help Zeigt Hilfe an.
  • --version Zeigt Versionsinformationen an.

Beispiele

Zwei Dateien verbinden.

Um den Befehl join klar zu verstehen, verwenden Sie zunächst den Befehl cat, um den Inhalt der Dateien testfile_1 und testfile_2 anzuzeigen.

Vergleichen Sie dann die beiden Dateien auf die Standardweise, verbinden Sie die Zeilen mit demselben Inhalt im angegebenen Feld in den beiden Dateien und geben Sie den Befehl im Terminal ein:

join testfile_1 testfile_2 

Sehen Sie sich zunächst den Dateiinhalt von testfile_1 und testfile_2 an:

$ 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 

Verwenden Sie dann den Befehl join, um die beiden Dateien zu verbinden; das Ergebnis ist wie folgt:

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

Die Positionen von Datei 1 und Datei 2 beeinflussen das Ergebnis, das an die Standardausgabe ausgegeben wird. Wenn Sie beispielsweise die beiden Dateien im Befehl vertauschen, d. h. den folgenden Befehl eingeben:

join testfile_2 testfile_1

Das endgültige Ausgabeergebnis auf der Standardausgabe ändert sich, wie unten gezeigt:

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

Linux 命令大全Linux-Befehlsenzyklopädie

Andere Erweiterungen