Mehrere Dateien zeilenweise zusammenführen
Mit Hilfe von lam lassen sich die Zeilen von mehreren Dateien zusammenführen. Im folgenden Beispiel werden drei verschiedene Dateien verwendet:
# cat datei1 1 2 3 4 5 # cat datei2 a b c d e # cat datei3 z y x w v
Nun lassen sich mit lam die jeweiligen Zeilen zusammenführen:
# lam datei1 datei2 datei3 1az 2by 3cx 4dw 5ev
Mit der -S Option kann ein Trennzeichen definiert werden, welches zwischen die Zeilen der verschiedenen Dateien dargestellt wird:
# lam datei1 -S " " datei2 datei3 1 a z 2 b y 3 c x 4 d w 5 e v # lam datei1 -S "\ " datei2 datei3 1 a z 2 b y 3 c x 4 d w 5 e v
Auch lassen sich jeweils zwei Zeilen einer einzelnen Datei zu einer verbinden:
# lam - - < datei1 12 34 5
Auf FreeBSD ist lam standardmässig im Basissystem vorhanden. Mehr Informationen zu lam findet man in der Manpage lam(1).
Comments
dino
@ 13.12.2010 19:37 UTC
Worin ist lam(1) besser/anderst als paste(1), das seit langem Teil der GNU coreutils ist, und namentlich besser zu cut(1) passt?
Worin ist lam(1) besser/anderst als paste(1), das seit langem Teil der GNU coreutils ist, und namentlich besser zu cut(1) passt?
Beat
@ 14.12.2010 09:02 UTC
Hatte über paste(1) auch schon mal was geschrieben:
http://www.chruetertee.ch/blog/archive/2008/08/09/textdateien-zeilenweise-verbinden.html
Im Gegensatz zu paste(1) könnte man bei lam(1) mit der -f Option die Anzahl Zeichen pro Zeile limitieren und entsprechend formatieren:
Hatte über paste(1) auch schon mal was geschrieben:
http://www.chruetertee.ch/blog/archive/2008/08/09/textdateien-zeilenweise-verbinden.html
Im Gegensatz zu paste(1) könnte man bei lam(1) mit der -f Option die Anzahl Zeichen pro Zeile limitieren und entsprechend formatieren:
# cat foo 12345 123 1 # cat bar abcde abc a # lam -f 3.3 foo -f 2.2 bar 123ab 123ab 1 aWelches besser ist kann ich nicht sagen, sind halt zwei Programme die das Gleiche machen.
No new comments allowed (anymore) on this post.