xref: /freebsd/usr.bin/paste/paste.1 (revision 271c3a9060f2ee55607ebe146523f888e1db2654)
1.\" Copyright (c) 1989, 1990, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" Adam S. Moskowitz and the Institute of Electrical and Electronics
6.\" Engineers, Inc.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 3. All advertising materials mentioning features or use of this software
17.\"    must display the following acknowledgement:
18.\"	This product includes software developed by the University of
19.\"	California, Berkeley and its contributors.
20.\" 4. Neither the name of the University nor the names of its contributors
21.\"    may be used to endorse or promote products derived from this software
22.\"    without specific prior written permission.
23.\"
24.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34.\" SUCH DAMAGE.
35.\"
36.\"	@(#)paste.1	8.1 (Berkeley) 6/6/93
37.\" $FreeBSD$
38.\"
39.Dd June 25, 2004
40.Dt PASTE 1
41.Os
42.Sh NAME
43.Nm paste
44.Nd merge corresponding or subsequent lines of files
45.Sh SYNOPSIS
46.Nm
47.Op Fl s
48.Op Fl d Ar list
49.Ar
50.Sh DESCRIPTION
51The
52.Nm
53utility concatenates the corresponding lines of the given input files,
54replacing all but the last file's newline characters with a single tab
55character, and writes the resulting lines to standard output.
56If end-of-file is reached on an input file while other input files
57still contain data, the file is treated as if it were an endless source
58of empty lines.
59.Pp
60The options are as follows:
61.Bl -tag -width Fl
62.It Fl d Ar list
63Use one or more of the provided characters to replace the newline
64characters instead of the default tab.
65The characters in
66.Ar list
67are used circularly, i.e., when
68.Ar list
69is exhausted the first character from
70.Ar list
71is reused.
72This continues until a line from the last input file (in default operation)
73or the last line in each file (using the
74.Fl s
75option) is displayed, at which
76time
77.Nm
78begins selecting characters from the beginning of
79.Ar list
80again.
81.Pp
82The following special characters can also be used in list:
83.Pp
84.Bl -tag -width flag -compact
85.It Li \en
86newline character
87.It Li \et
88tab character
89.It Li \e\e
90backslash character
91.It Li \e0
92Empty string (not a null character).
93.El
94.Pp
95Any other character preceded by a backslash is equivalent to the
96character itself.
97.It Fl s
98Concatenate all of the lines of each separate input file in command line
99order.
100The newline character of every line except the last line in each input
101file is replaced with the tab character, unless otherwise specified by
102the
103.Fl d
104option.
105.El
106.Pp
107If
108.Sq Fl
109is specified for one or more of the input files, the standard
110input is used; standard input is read one line at a time, circularly,
111for each instance of
112.Sq Fl .
113.Sh EXIT STATUS
114.Ex -std
115.Sh EXAMPLES
116List the files in the current directory in three columns:
117.Pp
118.Dl "ls | paste - - -"
119.Pp
120Combine pairs of lines from a file into single lines:
121.Pp
122.Dl "paste -s -d '\et\en' myfile"
123.Pp
124Number the lines in a file, similar to
125.Xr nl 1 :
126.Pp
127.Dl "sed = myfile | paste -s -d '\et\en' - -"
128.Pp
129Create a colon-separated list of directories named
130.Pa bin ,
131suitable
132for use in the
133.Ev PATH
134environment variable:
135.Pp
136.Dl "find / -name bin -type d | paste -s -d : -"
137.Sh SEE ALSO
138.Xr cut 1 ,
139.Xr lam 1
140.Sh STANDARDS
141The
142.Nm
143utility is expected to be
144.St -p1003.2
145compatible.
146.Sh HISTORY
147A
148.Nm
149command appeared in
150.At 32v .
151