Befehl "paste"

Zweck

Verbindet die Zeilen verschiedener Dateien.

Syntax

paste-s ] [  -d Liste ] Datei1 ...

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:
  1. Der Befehl paste unterstützt bis zu 32767 Eingabedateien (die OPEN_MAX-Kontstante).
  2. 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.
  3. 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:

\n
Zeilenvorschubzeichen
\t
Tabulator
\\
Umgekehrter Schrägstrich (Backslash)
\0
Leere Zeichenfolge (kein Nullzeichen)
c
Ein erweitertes Zeichen.

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

  1. Um mehrere Datenspalten zusammen einzufügen, geben Sie Folgendes ein:
    paste names places dates > npd
    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:
    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
    Dann enthält die Datei npd:
    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.
  2. Um die Spalten mit einem anderen Zeichen als einem Tabulator zu trennen, geben Sie Folgendes ein:
    paste  -d"!@" names places dates > npd
    Dies 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
  3. Um die Standardeingabe in mehreren Spalten anzuzeigen, geben Sie Folgendes ein:
    ls | paste - - - -
    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.

    Dies entspricht:

    ls | paste  -d"\t\t\t\n" -s -
    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.

Dateien

Element Beschreibung
/usr/bin/paste Enthält den Befehl paste.