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