LAM(1) | General Commands Manual | LAM(1)

# NAME

`lam` —
laminate files

# SYNOPSIS

`lam` | [`-f` min.max] [`-p` min.max] [`-s` sepstring] [`-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.

Normally, each option affects only the file after it. If the option letter is capitalized it affects all subsequent files until it appears again uncapitalized. The options are described below.

`-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 added to make up the field width, and if it begins with a ‘-’, the fragment will be left-adjusted within the field.
`-p` min.max
  Like `-f`, but pad this file's field when end-of-file is reached and other files are still active.
`-s` sepstring
  Print sepstring before printing line fragments from the next file. This option may appear after the last file. (A capitalized version appearing before the last file is not carried over past the last file.)
`-t` c
  The input line terminator is c instead of a newline. The newline normally appended to each output line is omitted.

To print files simultaneously for easy viewing use pr(1).

# EXAMPLES

The command

    lam file1 file2 file3 file4

joins 4 files together along each line. To merge the lines from four different files use

    lam file1 -S $'\n' file2 file3 file4

(The means for inserting a newline may depend on your shell.)

Every 2 lines of a file may be joined on one line with

    lam - - < file

and a form letter with substitutions keyed by ‘@’ can be done with

    lam -t @ letter changes

# SEE ALSO

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

# HISTORY

The `lam` utility first appeared in 4.2BSD.

# AUTHORS

John A. Kunze

October 26, 2020 | NetBSD 10.1