Der Befehl paste

paste-featured

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!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: