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