$MetaDescription = "Shells unter Linux. Einführung der wichtigsten Kommandos und Programmierung"; $MetaKeywords = "Linux, Hilfe, Shell, Shells, Bourne-Shell, Pipes, Schleifen, Programmierung, Rechtschreibung"; $h1_txt = "Shells: Tutorial"; $title_txt = "Shells: Kommandos und Programmierung"; $multi_title ="true"; $sort_mode = "ascending"; $sort_criteria = "time"; ?>
Linux-Hilfe |
||||||
| * Einführung * Installation * Paketmanager * Grundlagen * Shells * Entwicklung * KDE * Skriptsprachen * AWK * PHP * Perl * Apache * Veranstaltungen * Schulungen * Bücher * Netzwerk * OpenOffice * OpenSource * Samba | ||||||
Shells
Home Erste Schritte mit der Bourne-Shell Shell-Variablen Klammer-Erweiterung Head or Tail Pipes Rechtschreibung Schleifen und Zählen Schleifen und elegant Zählen Sortieren von Daten Umlenkung der Ein- und der Ausgaben Wer sucht der findet! Texte formatieren mit fmt und fold Verknüpfen von Textdateien mittels Schlüsselfeldern Dateien zeilenweise zusammenfügen Praktische Shell-Skripte Mit freundlicher Unterstützung von: Linux-Kurse und Seminare
Veranstalter des Linux-Tag am Bodensee 2007 und 2008 Kontakt Haftung Impressum Problem Hilfe Startseite |
joinEin äußerst interessanter Befehl, der leider selbst von vielen Linux-Kennern kaum Beachtung findet bzw. gar nicht bekannt ist.Syntax join [Optionen] Datei1 Datei2 Zeilen der beiden Dateien, die ein identisches Schlüsselfeld (join field) habenwerden für die Ausgabe zu einer Zeile zusammengefasst. Alle anderen Zeilen erscheinen nicht in der Ausgabe.
Der Aufruf: join -j 1 datei1.txt datei2.txt liefert folgendes Ergebnis: 1 one eins 2 two zwei 3 three drei 4 four vier 5 five fünf 6 six sechs 7 seven sieben Man sieht, dass die Zeile "0 zero" der ersten Datei und die Zeile "3,5 dreieinhalb" der zweiten Datei nicht in der Ausgabe erscheinen. "-j 1" besagt, dass man die erste Spalte als Schlüsselfeld deklariert. Gibt man die Option -j nicht an, so wird die erste Spalte default-mäßig als Schlüsselfeld angenommen. Interessant ist auch die Option -a. Sie kann den Wert 1 (erste Datei) oder den Wert 2 (zweite Datei) annehmen. Für "-a 1" werden auch die Zeilen der ersten Datei, die sich nicht mit der zweiten Datei verknüpfen lassen, in der Ausgabe übernommen. Am besten sieht man dies an einem einfachen Beispiel: join -a 1 datei1.txt datei2.txt liefert: 0 zero 1 one eins 2 two zwei 3 three drei 4 four vier 5 five fünf 6 six sechs 7 seven sieben Aber join -a 2 datei1.txt datei2.txt liefert 1 one eins 2 two zwei 3 three drei 3,5 dreieinhalb 4 four vier 5 five fünf 6 six sechs 7 seven sieben Die Option "-v" verhält sich wie -a, aber es werden nur die Zeilen ausgegeben, die sich von der ersten Datei bei "-v 1" nicht verknüpfen lassen, bzw. von der zweiten Datei bei "-v 2". Beispiele: join -v 2 datei1.txt datei2.txt Ausgabe: 3,5 dreieinhalb join -v 1 datei1.txt datei2.txt liefert 0 zero | |||||