1.\" Copyright (c) 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 4. Neither the name of the University nor the names of its contributors 13.\" may be used to endorse or promote products derived from this software 14.\" without specific prior written permission. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.\" @(#)lam.1 8.1 (Berkeley) 6/6/93 29.\" $FreeBSD$ 30.\" 31.Dd August 12, 2004 32.Dt LAM 1 33.Os 34.Sh NAME 35.Nm lam 36.Nd laminate files 37.Sh SYNOPSIS 38.Nm 39.Op Fl f Ar min . Ns Ar max 40.Op Fl s Ar sepstring 41.Op Fl t Ar c 42.Ar 43.Nm 44.Op Fl p Ar min . Ns Ar max 45.Op Fl s Ar sepstring 46.Op Fl t Ar c 47.Ar 48.Sh DESCRIPTION 49The 50.Nm 51utility copies the named files side by side onto the standard output. 52The 53.Em n-th 54input lines from the input 55.Ar files 56are considered fragments of the single long 57.Em n-th 58output line into which they are assembled. 59The name `\fB\-\fP' means the standard input, and may be repeated. 60.Pp 61Normally, each option affects only the 62.Ar file 63after it. 64If the option letter is capitalized it affects all subsequent files 65until it appears again uncapitalized. 66The options are described below: 67.Bl -tag -width indent 68.It Fl f Ar min . Ns Ar max 69Print line fragments according to the format string 70.Ar min . Ns Ar max , 71where 72.Ar min 73is the minimum field width and 74.Ar max 75the maximum field width. 76If 77.Ar min 78begins with a zero, zeros will be added to make up the field width, 79and if it begins with a `\-', the fragment will be left-adjusted 80within the field. 81.It Fl p Ar min . Ns Ar max 82Like 83.Fl f , 84but pad this file's field when end-of-file is reached 85and other files are still active. 86.It Fl s Ar sepstring 87Print 88.Ar sepstring 89before printing line fragments from the next file. 90This option may appear after the last file. 91.It Fl t Ar c 92The input line terminator is 93.Ar c 94instead of a newline. 95The newline normally appended to each output line is omitted. 96.El 97.Pp 98To print files simultaneously for easy viewing use 99.Xr pr 1 . 100.Sh EXAMPLES 101The command 102.Bd -literal 103lam file1 file2 file3 file4 104.Ed 105.Pp 106joins 4 files together along each line. 107To merge the lines from four different files use 108.Bd -literal 109lam file1 \-S "\\ 110" file2 file3 file4 111.Ed 112.Pp 113Every 2 lines of a file may be joined on one line with 114.Bd -literal 115lam \- \- < file 116.Ed 117.Pp 118and a form letter with substitutions keyed by `@' can be done with 119.Bd -literal 120lam \-t @ letter changes 121.Ed 122.Sh SEE ALSO 123.Xr join 1 , 124.Xr paste 1 , 125.Xr pr 1 , 126.Xr printf 3 127.Sh STANDARDS 128Some of the functionality of 129.Nm 130is standardized as the 131.Xr paste 1 132utility by 133.St -p1003.2 . 134.Sh HISTORY 135The 136.Nm 137utility first appeared in 138.Bx 4.2 . 139.Sh BUGS 140The 141.Nm 142utility does not recognize multibyte characters. 143