Annotation of src/usr.bin/lam/lam.1, Revision 1.10
1.10 ! schwarze 1: .\" $OpenBSD: lam.1,v 1.9 2016/01/04 23:21:28 schwarze Exp $
1.4 millert 2: .\" $NetBSD: lam.1,v 1.4 2002/02/08 01:36:25 ross Exp $
1.1 deraadt 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.
1.5 millert 15: .\" 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 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: .\"
1.10 ! schwarze 33: .Dd $Mdocdate: January 4 2016 $
1.4 millert 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
1.8 sobrado 45: .Ar
1.4 millert 46: .Sh DESCRIPTION
47: .Nm
1.1 deraadt 48: copies the named files side by side onto the standard output.
49: The
1.4 millert 50: .Em n Ns -th
1.1 deraadt 51: input lines from the input
1.4 millert 52: .Ar files
1.1 deraadt 53: are considered fragments of the single long
1.4 millert 54: .Em n Ns -th
1.1 deraadt 55: output line into which they are assembled.
1.4 millert 56: The name
57: .Dq \&-
58: means the standard input, and may be repeated.
59: .Pp
1.1 deraadt 60: Normally, each option affects only the
1.4 millert 61: .Ar file
1.1 deraadt 62: after it.
63: If the option letter is capitalized it affects all subsequent files
64: until it appears again uncapitalized.
65: The options are described below.
1.4 millert 66: .Bl -tag -width "-s sepstring"
67: .It Fl f Ar min.max
1.1 deraadt 68: Print line fragments according to the format string
1.4 millert 69: .Ar min.max ,
1.1 deraadt 70: where
1.4 millert 71: .Ar min
1.1 deraadt 72: is the minimum field width and
1.4 millert 73: .Ar max
1.1 deraadt 74: the maximum field width.
75: If
1.4 millert 76: .Ar min
1.10 ! schwarze 77: begins with a zero, zeros will be prepended to make up the field width
! 78: instead of blanks, and if it begins with a
1.4 millert 79: .Sq \&- ,
80: the fragment will be left-adjusted
1.1 deraadt 81: within the field.
1.4 millert 82: .It Fl p Ar min.max
83: Like
84: .Fl f ,
1.1 deraadt 85: but pad this file's field when end-of-file is reached
86: and other files are still active.
1.4 millert 87: .It Fl s Ar sepstring
1.1 deraadt 88: Print
1.4 millert 89: .Ar sepstring
1.1 deraadt 90: before printing line fragments from the next file.
91: This option may appear after the last file.
1.4 millert 92: .It Fl t Ar c
1.1 deraadt 93: The input line terminator is
1.4 millert 94: .Ar c
1.1 deraadt 95: instead of a newline.
96: The newline normally appended to each output line is omitted.
1.4 millert 97: .El
98: .Pp
1.1 deraadt 99: To print files simultaneously for easy viewing use
1.4 millert 100: .Xr pr 1 .
1.10 ! schwarze 101: .Sh ENVIRONMENT
! 102: .Bl -tag -width LC_CTYPE
! 103: .It Ev LC_CTYPE
! 104: The character encoding
! 105: .Xr locale 1 .
! 106: It determines the display widths of characters used by the
! 107: .Fl f
! 108: and
! 109: .Fl p
! 110: options.
! 111: If unset or set to
! 112: .Qq C ,
! 113: .Qq POSIX ,
! 114: or an unsupported value, each byte is regarded as a character
! 115: of display width 1.
! 116: .El
1.4 millert 117: .Sh EXAMPLES
1.6 jmc 118: Join four files together along each line:
119: .Pp
1.4 millert 120: .Dl $ lam file1 file2 file3 file4
121: .Pp
1.6 jmc 122: Merge the lines from four different files:
1.4 millert 123: .Bd -literal -offset indent
1.6 jmc 124: $ lam file1 \-S "\e
1.1 deraadt 125: " file2 file3 file4
1.4 millert 126: .Ed
127: .Pp
1.6 jmc 128: Join every two lines of a file:
129: .Pp
1.4 millert 130: .Dl $ lam \- \- \*(Lt file
131: .Pp
1.6 jmc 132: A form letter with substitutions keyed by
1.4 millert 133: .Sq \&@
1.6 jmc 134: can be done with:
135: .Pp
1.4 millert 136: .Dl $ lam \-t @ letter changes
137: .Sh SEE ALSO
138: .Xr join 1 ,
139: .Xr pr 1 ,
140: .Xr printf 1
1.9 schwarze 141: .Sh HISTORY
142: The
143: .Nm
144: utility first appeared in
145: .Bx 4.2 .
146: .Sh AUTHORS
147: .An John A. Kunze