LAM(1) - General Commands Manual #
LAM(1) - General Commands Manual
NAME #
lam - laminate files
SYNOPSIS #
lam [-F|f min.max] [-P|p min.max] [-S|s sepstring] [-T|t c] file …
DESCRIPTION #
lam copies the named files side by side onto the standard output. The n-th input lines from the input files are considered fragments of the single long n-th output line into which they are assembled. The name “-” means the standard input, and may be repeated.
The options are as follows:
-F|f min.max
Print line fragments according to the format string min.max, where min is the minimum field width and max the maximum field width. If min begins with a zero, zeros will be prepended to make up the field width instead of blanks, and if it begins with a ‘-’, the fragment will be left-adjusted within the field.
If -f is used, it affects only the file after it; if -F is used, it affects all subsequent files until it appears again uncapitalized.
-P|p min.max
Like -f, but pad this file’s field when end-of-file is reached and other files are still active.
If -p is used, it affects only the file after it; if -P is used, it affects all subsequent files until it appears again uncapitalized.
-S|s sepstring
Print sepstring before printing line fragments from the next file. This option may appear after the last file.
If -s is used, it affects only the file after it; if -S is used, it affects all subsequent files until it appears again uncapitalized.
-T|t c
The input line terminator is c instead of a newline. The newline normally appended to each output line is omitted.
If -t is used, it affects only the file after it; if -T is used, it affects all subsequent files until it appears again uncapitalized.
To print files simultaneously for easy viewing use pr(1).
ENVIRONMENT #
LC_CTYPE
The character encoding locale(1). It determines the display widths of characters used by the -f and -p options. If unset or set to “C”, “POSIX”, or an unsupported value, each byte is regarded as a character of display width 1.
EXAMPLES #
Join four files together along each line:
$ lam file1 file2 file3 file4
Merge the lines from four different files:
$ lam file1 -S "\
" file2 file3 file4
Join every two lines of a file:
$ lam - - < file
A form letter with substitutions keyed by ‘@’ can be done with:
$ lam -t @ letter changes
SEE ALSO #
HISTORY #
The lam utility first appeared in 4.2BSD.
AUTHORS #
John A. Kunze
OpenBSD 7.5 - December 2, 2021