Der Befehl paste
In diesem Beitrag lernen Sie den Befehl paste kennen, welcher unter UNIX / Linux verwendet wird, um Zeilen der Eingabe(-Dateien) spaltenweise zusammenzufügen. Dem Befehl cut, welcher spaltenweise Informationen aus Zeilen der Eingabe extrahieren kann, stellt paste damit sozusagen die Umkehroperation. Da paste im essenziellen Paket coreutils enthalten ist, ist der Befehl in der Regel bereits vorinstalliert.
Allgemeine Syntax
Die allgemeine Syntax des Befehls paste lautet folgendermaßen:
paste [Optionen] [Datei(en)]
Vereinfacht lässt sich die von paste durchgeführte Operation mit dem horizontalen Aneinanderlegen der Inhalte der gegebenen Dateien beschreiben. Werden dem Befehl eine oder mehrere Dateien übergeben, so gibt er deren Zeilen also jeweils so aus, dass die sich in der Zeilennummer entsprechenden Zeilen jeweils nebeneinander auf einer Zeile befinden. Als Trennzeichen (Delimiter) kommen dabei standardmäßig Tabulatoren zum Einsatz. Die Reihenfolge, in der die Dateien kombiniert werden, entspricht der Reihenfolge, wie sie auf der Befehlszeile angegeben wurden.
Anstelle von Dateien ist auch die Übergabe eines Minuszeichens "-" möglich. In diesem Fall und auch, wenn keines von beidem übergeben wurde, verwendet paste den Standard-Input stdin als Eingabe.
Beispiel: paste ohne Optionen
In diesem Beispiel sollen zwei Dateien "benutzer.txt" und "homeverzeichnisse.txt" mit paste spaltenweise zusammengefügt werden, wobei keine Optionen zum Einsatz kommen.
Inhalt "benutzer.txt":
In der Datei "benutzer.txt" sind die Benutzernamen von drei Benutzern untereinander aufgelistet.
admina
bibo
hellberg
Inhalt "uids.txt":
In der Datei "uids.txt" sind die UIDs der Benutzer aus der Datei "benutzer.txt" aufgelistet.
1002
1001
1000
Eingabe:
Dem Befehl paste werden die Dateien "benutzer.txt" und "uids.txt" in dieser Reihenfolge übergeben.
paste benutzer.txt uids.txt
Nach Ausführung:
paste hat die Zeilen der beiden Dateien nun jeweils zusammengefügt, wobei die standardmäßigen Tabulatoren als Delimiter verwendet wurden (unten wurden sie jedoch durch Leerzeichen ersetzt).
admina 1002
bibo 1001
hellberg 1000
Wichtige Optionen
In diesem Abschnitt lernen Sie die wichtigsten Optionen von paste kennen.
-d - Delimiter spezifizieren
Wenn zur Trennung von Zeilen ein anderes Zeichen verwendet werden soll, als der standardmäßige Tabulator, dann kann mit der Option -d ein anderer Delimiter festgelegt werden.
paste -d [Delimiter] [Datei(en)]
-s - Seriellen Modus verwenden
Durch Angabe der Option -s verwendet paste den seriellen Modus für die Ausgabe. Hierbei werden die Dateien nicht parallel, sondern zeilenweise, hintereinander ausgegeben. Der komplette Inhalt jeder Datei wird dann jeweils auf eine Zeile gebracht, wobei Zeilenumbrüche durch den Delimiter (standardmäßig der Tabulator) ersetzt werden.
paste -s [Datei(en)]
-z - Zeilen mit Nullbyte trennen
Zeilen werden standardmäßig mit dem Zeilenumbruch getrennt. Alternativ lässt sich mit der Option -z die Verwendung des Nullbyte (NUL) für die Trennung der Zeilen aktivieren.
paste -z [Datei(en)]
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!