Befehl "paste"
Zweck
Verbindet die Zeilen verschiedener Dateien.
Syntax
Beschreibung
Der Befehl paste liest Eingaben aus den in der Befehlszeile angegebenen Dateien. Der Befehl liest aus der Standardeingabe, wenn ein - (Minuszeichen) als Dateiname erscheint. Der Befehl verknüpft die entsprechenden Zeilen der angegebenen Eingabedateien und schreibt die resultierenden Zeilen in die Standardausgabe.
Standardmäßig behandelt der Befehl paste jede Datei wie eine Spalte und verbindet sie horizontal mit einem Tabulatorzeichen (paralleles Zusammenführen). Sie können sich den Befehl paste als Entsprechung des Befehls cat vorstellen (der Dateie vertikal verknüpft, d. h. eine Datei nach der anderen).
Wenn Sie das Flag -s verwenden, verknüpft der Befehl paste nachfolgende Zeilen derselben Eingabedatei (serielles Zusammenführen). Diese Zeilen werden standardmäßig mit dem Tabulatorzeichen verknüpft.
Anmerkungen:
- Der Befehl paste unterstützt bis zu 32767 Eingabedateien (die OPEN_MAX-Kontstante).
- Die Aktion des Befehls pr-t -m ähnelt der des Befehls paste, erstellt jedoch zusätzliche Leerzeichen, Tabulatoren und Zeilen für ein ansprechendes Seitenlayout.
- Eingabedateien sollten Textdateien sein, können jedoch eine unbegrenzte Anzahl von Zeilenlängen enthalten.
Flags
| Element | Beschreibung |
|---|---|
| -d Liste | Ändert das Trennzeichen, das die entsprechenden Zeilen in der Ausgabe mit einem oder mehreren über den Parameter Liste angegebenen Zeichen (standardmäßig das Tabulatorzeichen) trennt. Wenn über den Parameter Liste mehr als ein Zeichen angegeben wird, werden sie in der angegebenen Reihenfolge bis zum Ende der Ausgabe wiederholt. Beim parallelen Zusammenführen enden die Zeilen der letzten Datei immer mit einem Zeilenvorschubzeichen anstelle eines der über den Parameter Liste angegebenen Zeichen.
Die folgenden Sonderzeichen können auch über den Parameter Liste verwendet werden:
Sie müssen Anführungszeichen um Zeichen setzen, die eine besondere Bedeutung für die Shell haben. |
| -s | Führt nachfolgende Zeilen aus der ersten Datei horizontal zusammen. Wenn Sie dieses Flag angeben, durchläuft der Befehl paste eine ganze Datei, bevor er mit der nächsten beginnt. Wenn die Zusammenführung der Zeilen aus einer Datei abgeschlossen ist, erzwingt sie eine neue Zeile und fügt dann die Zeilen in der nächsten Eingabedatei zusammen, wobei die Verarbeitung der verbleibenden Eingabedateien auf dieselbe Weise nacheinander fortgesetzt wird. Ein Tabulator trennt die Zeilen voneinander, es sei denn, Sie verwenden das Flag -d. Unabhängig vom Parameter Liste erzwungen, dass das letzte Zeichen der Datei ein Zeilenvorschubzeichen ist. |
Exitstatus
Dieser Befehl gibt die folgenden Exitwerte zurück:
| Element | Beschreibung |
|---|---|
| 0 | Erfolgreiche Ausführung. |
| >0 | Es ist ein Fehler aufgetreten. |
Beispiele
- Um mehrere Datenspalten zusammen einzufügen, geben Sie Folgendes ein:
Dies erzeugt eine Datei mit dem Namen npd, die die Daten aus der Datei names in einer Spalte, aus der Datei places in einer anderen Spalte und aus der Datei dates in einer dritten Spalte enthält. Wenn folgende Angaben zu names, places und dates vorhanden sind:paste names places dates > npd
Dann enthält die Datei npd:names places dates rachel New York February 5 jerry Austin March 13 mark Chicago June 21 marsha Boca Raton July 16 scott Seattle November 4
Ein Tabulatorzeichen trennt den Namen, den Ort und das Datum in jeder Zeile. Diese Spalten stimmen nicht immer überein, da die Tabulatoren bei jeder achten Spalte gesetzt sind.rachel New York February 5 jerry Austin March 13 mark Chicago June 21 marsha Boca Raton July 16 scott Seattle November 4 - Um die Spalten mit einem anderen Zeichen als einem Tabulator zu trennen, geben Sie Folgendes ein:
paste -d"!@" names places dates > npdDies führt dazu, dass ! und @ als Spaltentrennzeichen abwechselnd verwendet werden. Wenn die Angaben der Dateien names, places und dates wie in Beispiel 1 sind, enthält die Datei npd Folgendes:
rachel!New York@February 5 jerry!Austin@March 13 mark!Chicago@June 21 marsha!Boca Raton@July 16 scott!Seattle@November 4 - Um die Standardeingabe in mehreren Spalten anzuzeigen, geben Sie Folgendes ein:
Dies listet das aktuelle Verzeichnis in vier Spalten auf. Jedes Minuszeichen (-) weist den Befehl paste an, eine Spalte mit den aus der Standardeingabe gelesenen Daten zu erstellen. Die erste Zeile wird in die erste Spalte, die zweite Zeile in die zweite Spalte usw. eingefügt.ls | paste - - - -Dies entspricht:
In diesem Beispiel werden die Spalten auf der Seite mit nachfolgenden Zeilen aus der Standardeingabe gefüllt. Die Angabe -d"\t\t\t\n" definiert das Zeichen, das nach jeder Spalte eingefügt werden soll: ein Tabulatorzeichen (\t) nach den ersten drei Spalten und ein Zeilenvorschubzeichen (\n) nach der vierten Spalte. Wenn das Flag -d nicht angegeben wird, zeigt der Befehl paste -s - die gesamte Eingabe als eine Zeile mit einem Tabulatorzeichen zwischen jeder Spalte an.ls | paste -d"\t\t\t\n" -s -
Dateien
| Element | Beschreibung |
|---|---|
| /usr/bin/paste | Enthält den Befehl paste. |