The paste command is used to join files horizontally (parallel merging) by outputting lines consisting of the sequentially corresponding lines of each file specified, separated by tabs, to the standard output.
Once invoked, paste will read all its file arguments. For each corresponding line, paste will append the contents of each file at that line to its output along with a tab. When it has completed its operation for the last file, paste will output a newline character and move on to the next line.
paste [flags] [file1] [file2] ...


  • -d delimiters, which specifies a list of delimiters to be used instead of tabs for separating consecutive values on a single line. Each delimiter is used in turn; when the list has been exhausted, paste begins again at the first delimiter.
    paste -d "|" file1.txt file2.txt
    paste -d "|," file1.txt file2.txt
  • -s, which causes paste to append the data serially rather than in parallel; that is, in a horizontal rather than vertical fashion.