paste(1)							     paste(1)



NAME
  paste - Joins corresponding lines of several files or subsequent lines in
  one file

SYNOPSIS

  paste [ -dlist ] [-s] file ...

  The paste command reads input files (or standard input if you specify a
  hyphen (-) instead of a filename), joins corresponding lines, and writes
  the result to standard output.

FLAGS

  -dlist
      Replaces the delimiter that separates lines in the output (tab by
      default) with one or more characters from list.  If list contains more
      than one character, then the characters are repeated in order until the
      end of the output.  In parallel merging, the lines from the last file
      always end with a newline character, instead of one from list.

      The following special characters can be used in list:

      \n  Newline character

      \t  Tab

      \\  Backslash

      \0  Empty string (not a null character)

      c	  An extended character

      You must quote characters that have special meaning to the shell.

  -s  Merges all lines from each input file into one line of output (serial
      merging).	 Using this flag, the paste command merges all lines in the
      first input file forcing a newline before at the end.  The command then
      continues with the next input file, continuing in the same manner until
      all input files have been completed. A tab separates the input lines
      unless you use the -d flag.  Regardless of the list, the last character
      of the output is a newline character.

DESCRIPTION

  Specifying the -d flag or no flags causes the paste command to treat each
  file as a column, joining them them horizontally with a tab character by
  default (parallel merging).

  Using the -s flag, the paste command combines all lines of each input file
  into one output line (serial merging).  These lines are joined with the tab
  character by default.

  Output lines can be any length.

  Note that the output of pr -t -m is similar to the output produced by the
  paste command, but pr with it options creates extra spaces, tabs, and lines
  for an enhanced page layout.

EXAMPLES

   1.  To paste several columns of data together, enter:
	    paste  names  places  dates	 > npd


       This creates a file named npd that contains the data from names in one
       column, places in another, and dates in a third.	 The columns are
       separated by tab characters.

       npd then contains:
	    rachel	    New York	    28 February
	    jerzy	    Warsaw	    27 April
	    mata	    Nairobi	    21 June
	    michel	    Boca Raton	    27 July
	    segui	    Managua	    18 November


       A tab character separates the name, place, and date on each line.

   2.  To separate the columns with a character other than a tab (sh only),
       enter:
	    paste  -d"!@"  names  places  dates	 > npd


       This alternates the apostrophe (!) and the at sign (@) as the column
       separators.  If names, places, and dates are the same as in Example 1,
       then npd contains:
	    rachel!New York@28 February
	    jerzy!Warsaw@27 April
	    mata!Nairobi@21 June
	    michel!Boca Raton@27 July
	    segui!Managua@18 November


   3.  To display the standard input in multiple columns, enter:
	    ls | paste	-  -  -	 -


       This lists the current directory in four columns.  Each hyphen (-)
       tells the paste command to create a column containing data read from
       the standard input.  The first line is put in the first column, the
       second line in the second column, ... and then the fifth line in the
       first column, and so on.

       This is equivalent to
	    ls | paste -d"\t\t\t\n"  -s	 -


       which fills the columns across the page with subsequent lines from the
       standard input.	The -d\t\t\t\n defines the character to insert after
       each column: a tab character (\t) after the first three columns, and a
       newline character (\n) after the fourth.	 Without the -d flag, paste
       -s - displays all of the input as one line with a tab between each
       column.

   4.  To merge the lines of the file names above into one output line,
       enter:
	    paste -s names


       This results in:
	    rachel  jerzy   mata    michel  segui



RELATED INFORMATION

  Commands:  cut(1), grep(1), egrep(1), fgrep(1), fold(1), join(1), pr(1).