Unterschied zwischen Lam und Paste

2068
Stefano Borini

Ich verstehe nicht den Unterschied zwischen dem Programm lam

lam - laminate files
Das lam-Dienstprogramm kopiert die benannten Dateien nebeneinander auf die Standardausgabe. Die n-ten Eingabezeilen aus den Eingabedateien werden als Fragmente der einzigen langen n-ten Ausgabezeile betrachtet, in der sie angeordnet sind. Der Name "-" steht für die Standardeingabe und kann wiederholt werden.

und einfügen

Einfügen - Zusammenfügen entsprechender oder nachfolgender Zeilen von Dateien
Das Einfügen-Hilfsprogramm verkettet die entsprechenden Zeilen der angegebenen Eingabedateien, wobei alle Zeilen mit Ausnahme der letzten Datei der letzten Datei durch ein einzelnes Tabulatorzeichen ersetzt werden und die resultierenden Zeilen in die Standardausgabe geschrieben werden. Wenn für eine Eingabedatei das Dateiende erreicht wird, während andere Eingabedateien noch Daten enthalten, wird die Datei so behandelt, als wäre sie eine unendliche Quelle leerer Zeilen.

Mit Ausnahme der Befehlsoptionen. Ich verstehe den Unterschied nicht. Angenommen, ich habe zwei Dateien a und b

a ------------ 1 2 3  b ------------ 4 5 6 

Ich bekomme

$ paste -d ',' a b 1,4 2,5 3,6  $ lam a -s',' b 1,4 2,5 3,6 

Sie scheinen überflüssig zu sein, obwohl Lam flexibler zu sein scheint. Die Beschreibungen erlauben es mir nicht, Fälle zu fangen, in denen sie sich anders verhalten könnten. Hat jemand eine Ahnung?

5
Sie sind im Umfang überflüssig. lam war ein teil von BSD, paste AT & T. paste wurde später in POSIX.2 standardisiert. lam hängt aus hysterischen gründen herum. TIMTOWTDI Richard Hoskins vor 15 Jahren 4
@ RichardHoskins Meiner Meinung nach ist das gut genug, um eine Antwort zu sein. Vielen Dank! isomorphismes vor 10 Jahren 0

2 Antworten auf die Frage

4
BinaryMisfit

Einfügen gilt für vollständige Dateien. Daher werden vollständige Dateien in einer einzigen Datei verkettet. Linien werden zusammengeführt, wenn sie gleich sind.

lam gilt für Zeilen in einer Datei sowie für Dateien. Daher können Sie Zeilen selektiv zu einer neuen Datei verketten.

Interessanterweise habe ich meistens "join" für diese Dinge verwendet. http://linux.about.com/library/cmd/blcmdl1_join.htm nik vor 15 Jahren 1
@nik. Ich auch - oder ich mache nur eine Kopie BinaryMisfit vor 15 Jahren 0
1
niless

Mit lam können Sie Trennzeichen mit mehr als einem Zeichen verwenden.