Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ paste(1) — Digital UNIX 4.0d

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Commands:  cut(1)

grep(1)

/egrep(1)

/fgrep(1)

fold(1)

join(1)

pr(1)

Standards:  standards(5)

paste(1)  —  Commands

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:  XPG4, XPG4−UNIX

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

FLAGS

-d listReplaces 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:

\nNewline character

\tTab

\\Backslash

\0Empty string (not a null character)

c[Digital]  An extended character

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

-sMerges 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. 

PARAMETERS

fileThe 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 flag or no flags 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 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. 

[Digital]  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. 

ENVIRONMENT VARIABLES

The following environment variables affect the execution of paste:

LANGProvides 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_ALLIf set to a non-empty string value, overrides the values of all the other internationalization variables. 

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

LC_MESSAGESDetermines the locale for the format and contents of diagnostic messages written to standard error. 

NLSPATHDetermines the location of message catalogues for the processing of LC_MESSAGES. 

RESTRICTIONS

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

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 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

EXIT VALUES

The following exit values are returned:

0Successful completion

>0An error occurred

RELATED INFORMATION

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

Standards:  standards(5)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026