Befehl "paste"

Zweck

Verbindet die Zeilen verschiedener Dateien.

Syntax

paste [ -s ] [ -d List ] File1. ..

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).

Mit dem Flag -s kombiniert der Befehl paste aufeinander folgende 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 Konstante OPEN_MAX ).
  2. Wirkung des Befehls pr -t -m ähnelt der des Befehls paste, erzeugt aber zusätzliche Leerzeichen, Tabulatoren und Zeilen für ein schönes Seitenlayout.
  3. Eingabedateien sollten Textdateien sein, können aber 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
\\
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, 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 Spalten von Daten zusammen einzufügen, geben Sie ein:
    paste names places dates > npd
    Dadurch wird eine Datei mit dem Namennpddie die Daten aus der Dateinamesdatei in einer Spalte, dieplacesdatei in einer anderen, und diedatesdatei in einer dritten. Wenn dasnames,placesunddatesdatei aussehen:
    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 dienpd datei enthält:
    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. Geben Sie Folgendes ein, um die Spalten mit einem anderen Zeichen als einem Tabulatorzeichen zu trennen:
    paste  -d"!@" names places dates > npd
    Das wechselt! und @ als Spaltentrennzeichen. Wenn dasnames,placesunddatesdateien die gleichen sind wie in Beispiel 1, dann ist dienpddatei enthält:
    rachel!New York@February 5
    jerry!Austin@March 13
    mark!Chicago@June 21
    marsha!Boca Raton@July 16
    scott!Seattle@November 4
  3. Geben Sie Folgendes ein, um die Standardeingabe in mehreren Spalten anzuzeigen:
    ls | paste - - - -
    Dies listet das aktuelle Verzeichnis in vier Spalten auf. jeweils-(minus) weist den Einfügebefehl an, eine Spalte mit Daten zu erstellen, die von der Standardeingabe gelesen wurden. 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. Der-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 Zeilenumbruchzeichen (\n) nach dem vierten. 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.