Paste (Unix)

Einfügen
Betriebssystem Unix und Unix-artig
Plattform Plattformübergreifend
Typ Befehl
Lizenz CoreUtils: GPLV3+

Einfügen ist ein Unix Befehlszeile Dienstprogramm, mit dem Dateien horizontal (paralleles Zusammenführen) verbunden werden, indem Zeilen ausgeben, die aus den nacheinander entsprechenden Zeilen jeder angegebenen Datei bestehen, die durch Registerkarten getrennt sind, in die Standardausgabe.

Geschichte

Die Version von Einfügen gebündelt GNU CoreUtils wurde von David M. Ihnat und David Mackenzie geschrieben.[1] Der Befehl ist als separates Paket für verfügbar Microsoft Windows Im Rahmen des Unxutils Sammlung von einheimisch Win32 Häfen von gemeinsamen GNU-Unix-ähnlichen Versorgungsunternehmen.[2]

Verwendungszweck

Das Einfügen Das Dienstprogramm wird mit der folgenden Syntax aufgerufen:

Einfügen [Optionen] [Datei1 ..]

Beschreibung

Einmal aufgerufen, Einfügen wird alle seine lesen Datei Argumente. Für jede entsprechende Linie, Einfügen Fügt den Inhalt jeder Datei in dieser Zeile zusammen mit einer Registerkarte an ihre Ausgabe an. Als es seinen Betrieb für die letzte Datei abgeschlossen hat, Einfügen Wird ein Newline -Charakter ausgeben und zur nächsten Zeile übergehen.

Einfügen beendet nach allen Streams das Ende der Datei zurück. Die Anzahl der Zeilen im Ausgabestrom entspricht der Anzahl der Zeilen in der Eingabedatei mit der größten Anzahl von Zeilen. Fehlende Werte werden durch leere Zeichenfolgen dargestellt.

Obwohl potenziell nützlich, ist eine Option, um ein Einfügen eine alternative Zeichenfolge für ein fehlendes Feld (z. B. "NA") zu emittieren, nicht Standard.

Eine Folge leerer Datensätze am Ende einer Spalte des Ausgabestreams kann in der Eingabedatei vorhanden sein oder nicht, die dieser Spalte als explizite leere Datensätze entspricht, es sei denn Fall, in dem alle Eingabedateien tatsächlich die gleiche Anzahl von Zeilen haben).

Optionen

Das Einfügen Das Dienstprogramm akzeptiert die folgenden Optionen:

-d |-Delimiter-Grenzwerte, was eine Liste von spezifiziert Grenzwerte verwendet anstelle von Registerkarten zum Trennen aufeinanderfolgender Werte in einer einzelnen Zeile. Jeder Trennzeichen wird wiederum verwendet; Wenn die Liste erschöpft war, Einfügen beginnt beim ersten Trennzeichen wieder.

-S |-Serial, was verursacht Einfügen die Daten eher in seriell als in parallelem Anhang anhängen; das heißt eher horizontal als vertikal.

Beispiele

Für die folgenden Beispiele nehmen Sie das an names.txt ist eine einfache Textdatei, die die folgenden Informationen enthält:

Mark Smith Bobby Brown Sue Miller Jenny Igotit

und das nummern.txt ist eine weitere Plain-Text-Datei, die die folgenden Informationen enthält:

555-1234 555-9876 555-6743 867-5309

Das folgende Beispiel zeigt die Aufruf von Einfügen mit names.txt und nummern.txt sowie die resultierende Ausgabe:

$ fügen Sie names.txt numbers.txt einMark Smith 555-1234 Bobby Brown 555-9876 Sue Miller 555-6743 Jenny Igotit 867-5309 

Wenn mit dem aufgerufen --serialize Möglichkeit (-s auf BSD- oder älteren Systemen) die Ausgabe von Einfügen wird so eingestellt, dass die Informationen horizontal präsentiert werden:

$ Einfügen -serialisieren names.txt numbers.txtMark Smith Bobby Brown Sue Miller Jenny Igotit 555-1234 555-9876 555-6734 867-5309 

Schließlich die Verwendung der Verwendung der --delimiters Möglichkeit (-d auf BSD oder älteren Systemen) wird im folgenden Beispiel dargestellt:

$ Paste -Delimiter. names.txt number.txtMark Smith.555-1234 Bobby Brown.555-9876 Sue Miller.555-6743 Jenny Igotit.867-5309 

Als Beispiel verwendet beides die Einfügen Der Befehl kann verwendet werden, um mehrere aufeinanderfolgende Zeilen in eine einzelne Zeile zu verkettet:

$ Paste -serialize -Delimiter '\ t \ n' names.txtMark Smith Bobby Brown Sue Miller Jenny Igotit 

Siehe auch

Verweise

  1. ^ "Einfügen (1): Zeilen von Dateien zusammenführen - Linux Man Page".
  2. ^ "Native Win32 -Ports einiger GNU -Dienstprogramme". Unxutils.SourceForge.net.

Externe Links