paste - Joins corresponding lines of several files or subsequent
lines in one file
paste [-d list] [-s] file...
Interfaces documented on this reference page conform to
industry standards as follows:
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
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: Newline character Tab Backslash Empty string
(not a null character) [Tru64 UNIX] An extended
You must quote characters that have special meaning
to the shell. 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 character
of the output is a newline character.
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 -.
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.
If the -s option is not used, it is an error if any specified
file cannot be opened.
The following exit values are returned: Successful completion.
An error occurred.
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
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. 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
rachel!New York@28 February jerzy!Warsaw@27 April
mata!Nairobi@21 June michel!Boca Raton@27 July
segui!Managua@18 November 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. To merge the lines of the
file names above into one output line, enter: paste
This results in: rachel jerzy mata michel
ENVIRONMENT VARIABLES [Toc] [Back]
The following environment variables affect the execution
of paste: 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. If set to a non-empty
string value, overrides the values of all the other internationalization
variables. Determines 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). Determines the
locale for the format and contents of diagnostic messages
written to standard error. Determines the location of
message catalogues for the processing of LC_MESSAGES.
Commands: cut(1), grep(1), fold(1), join(1), pr(1)
[ Back ]