unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



paste(1)							     paste(1)



NAME

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

SYNOPSIS

  paste	[-d list] [-s] file...

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  paste:  XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

OPTIONS

  -d list
      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	  [Tru64 UNIX]	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 option, 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 option.  Regardless	of the list, the last charac-
      ter of the output	is a newline character.





OPERANDS

  file
      The name of an input file.  You may specify up to	12 files, including
      hyphens.

      If you specify a -, paste	reads standard input recursively, one line
      for each -.

DESCRIPTION

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

  Using	the -s option, 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.

  [Tru64 UNIX]	The output of pr -t -m is similar to the output	produced by
  the paste command, but pr with its options creates extra spaces, tabs, and
  lines	for an enhanced	page layout.

RESTRICTIONS

  If the -s option is not used,	it is an error if any specified	file cannot
  be opened.

EXIT STATUS

  The following	exit values are	returned:

  0   Successful completion.

  >>0  An error occurred.

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.

       File 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 option, 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



ENVIRONMENT VARIABLES

  The following	environment variables affect the execution of paste:

  LANG
      Provides a default value for the internationalization variables that
      are unset	or null. If LANG is unset or null, the corresponding value
      from the default locale is used.	If any of the internationalization
      variables	contain	an invalid setting, the	utility	behaves	as if none of
      the variables had	been defined.

  LC_ALL
      If set to	a non-empty string value, overrides the	values of all the
      other internationalization variables.

  LC_CTYPE
      Determines the locale for	the interpretation of sequences	of bytes of
      text data	as characters (for example, single-byte	as opposed to multi-
      byte characters in arguments and input files).

  LC_MESSAGES
      Determines the locale for	the format and contents	of diagnostic mes-
      sages written to standard	error.

  NLSPATH
      Determines the location of message catalogues for	the processing of
      LC_MESSAGES.




SEE ALSO

  Commands:  cut(1), grep(1), fold(1), join(1),	pr(1)


  Standards:  standards(5)