LAM(1) - General Commands Manual

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 #

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

HISTORY #

The lam utility first appeared in 4.2BSD.

AUTHORS #

John A. Kunze

OpenBSD 7.5 - December 2, 2021