Mit paste können mehrere Dateien zusammengeklebt werden.
Syntax
paste [-dlist] file1 file2 ...
oder
paste -s [-dlist] file1 file2 ...
Regeln
In der ersten Form werden korrespondierende Zeilen aus den Dateien zusammen-
gefasst. D.h. Jede Datei wird als Spalte einer Tabelle betrachtet, die Einträge
werden durch ein <TAB> getrennt.
Die Ausgabezeile darf maximal 511 Zeichen lang werden.
Wird der Dateiname durch - ersetzt, so wird von stdin gelesen.
Es sind maximal 12 Eingabedateien erlaubt
option
-dlist (d=delimiter) Ersetzt das Trennzeichen <TAB> durch das angegebene Zeichen.
Werden mehrere Zeichen angegeben, so wird das erste Zeichen zwischen
Feld 1 und Feld 2 gesetzt. Das zweite Zeichen zwischen Feld 2 und
Feld 3 usw. Sind mehr Dateien als Trennzeichen vorhanden, so wird
die Liste wieder von vorne begonnen.
Wurde -dlist nicht angegeben, so wird innerhalb der neuen Zeile
mit TAB getrennt.
-s Es werden zuerst alle Zeilen der file_1 zusammengefügt, dann file_2
usw (ähnlich zu cat).
- Minus anstatt eines Dateinamens führt zum Lesen von stdin
ls | paste -d: - - - -
ls liefert die Dateinamen ohne weitere Informationen.
Die Ausgabe wird per pipe in das paste kommando übergeben.
Da vier - angegeben sind wird viernal von stdin gelesen.
Es werden deshalb 4 Dateinamen pro Zeile ausgegeben.
Ausgabetrennzeichen zwischen den Feldern ist der :
Jede Zeile wird durch \n abgeschlossen
Beispiele :
paste -d:\| f1 f2 f3 > ergebnis
|
+--- zwischen f1 und f2 wird : als Trennzeichen verwendet
zwischen f2 und f3 wird | benutzt. Da dies ein Metazeichen ist,
muss es durch \ maskiert werden
Der Wert aus der letzten Datei f3 wird bei der Version 1 immer mit
einem new-line abgeschlossen.
Die Ausgabe wird in die Datei ergebnis umgeleitet.
paste -s -d"\t\n" eing
Aus einer Datei werden 2 Sätze zu einer Zeile zusammengefasst.
paste -s -d":::\n" f1 f2 f3 > ergebnis
|
+-- Es werden 4 Felder aus der Datei zu einem Satz zusammengefügt.
f1 wird kommplett bearbeitet, bevor mit f2 begonnen wird.