OpenBSD manual page server

Manual Page Search Parameters

LAM(1) General Commands Manual LAM(1)

lamlaminate files

lam [-F|f min.max] [-P|p min.max] [-S|s sepstring] [-T|t c] file ...

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:

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.

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.

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.

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

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.

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

join(1), pr(1), printf(1)

The lam utility first appeared in 4.2BSD.

John A. Kunze

December 2, 2021 OpenBSD-current