May the source be with you,
but remember the KISS principle ;-)
Key Softpanorama Topics
|About||Contents||Top Updates||Top Visited|
|Bulletin||Selected Papers||Softpanorama Bookshelf||History|
The Unix paste command combines files horizontally. For simple cases it is Ok. for complex cases you need to use Perl or AWK instead.
If you have two files, it would display the first file in the left column and the second file in the second column. The paste command has three main functions:
Following is the general format of the paste command.
paste [ -d[list] ] [-]file_list paste -s [ -d[list ] file_list
The following list describes the options and their arguments that may be used to control how paste functions.
|-||The standard input. Causes paste to read one line from the standard input.|
|-dlist||Delimiter. Allows you to define what character you want to use to separate columns of output. If you do not specify a list, the output columns are displayed immediately next to each other.|
|If -d is not specified, a tab character separates all columns.|
|The list is zero or more characters used for output delimiters, replacing the default tab character. The list must follow immediately after the -d option. If list consists of multiple characters, paste uses the first character to separate columns one and two, the second character between columns two and three, and so on. If the list is completely used and more columns exist, then the list is reused from the beginning. Thus it is a circular delimiter list.|
|The list may contain any of the following standard C escape sequences:|
|\\||A backslash; since a backslash is a special character you must escape it.|
|\0||No character at all. Same as -d without a list. But may be used in multi- character list. Does not actually place a character on the output.|
|You may have to quote the list to keep the shell from interpreting certain characters. For example, to pass a backslash to paste you would have to type -d"\\" or -d'\'.|
|-s||Serial output. Allows you to combine all lines of each file into one line of output. The -d option may be used to change the output delimiter. The last character of output is always a new-line.|
The following describes the argument that may be passed to the paste command.
|file_list||One or more files read and displayed in the appropriate format.|
DIAGNOSTICS AND BUGS
The following messages may be displayed if paste encounters a problem.
|line too long||An input line is too long. The longest possible input is 511 characters.|
|too many files||Only 12 input files can be specified; you entered 13 or more. The -s option is restricted by this limit.|
cj> paste first city Name City Someone Austin Anyone Dallas
cj> paste -d: -s first second Name:Someone:Anyone:City:Austin:Dallas
cj> ls /bin | paste - - - - adb ar as basename . . .
|Bulletin||Latest||Past week||Past month||
The paste command can be used to paste lines from one or more files (one of them can be a standard input) to the standard output, which can be redirected to a file. The paste command concatenates the line from each input file to the output file separating them by the tab character (default).
Following is a list of flags that can be used with the paste command:
- -dlist to specify characters that will be used to separate corresponding lines from the input files in the output file. You can specify multiple characters if you have multiple input files.
- -s to merge subsequent lines from input file for each input file, one at a time, separated by the specified delimiter character.
Examples Let us assume that we have two files, file1 and file2, whose contents are shown below:more file1 computer1 16MB 1.2GB 17inch CDROM computer2 8MB 840MB 14inch computer3 12MB 1.6GB 17inch computer4 4MB 270MB 14inch more file2 computer1 1stfloor office5 computer3 2ndfloor office9A computer4 1stfloor office2 computer5 3rdfloor office1
If you want to merge file1 and file2, use the following command:paste file1 file2 computer1 16MB 1.2GB 17inch CDROM computer1 1stfloor office5 computer2 8MB 840MB 14inch computer3 2ndfloor office9A computer3 12MB 1.6GB 17inch computer4 1stfloor office2 computer4 4MB 270MB 14inch computer5 3rdfloor office1
The lines from file1 and file2 are separated by tab characters.
If you want to modify the default separator from the tab character to, say, / (slash), use the -d flag in the following command:paste -d"/" file1 file2 computer1 16MB 1.2GB 17inch CDROM/computer1 1stfloor office5 computer2 8MB 840MB 14inch/computer3 2ndfloor office9A computer3 12MB 1.6GB 17inch/computer4 1stfloor office2 computer4 4MB 270MB 14inch /computer5 3rdfloor office1
If you want to merge the lines from within each input file, use the -s flag in the following command:
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : C++ Humor : ARE YOU A BBS ADDICT? : Object oriented programmers of all nations : C Humor : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor: Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : The Most Comprehensive Collection of Editor-related Humor : Microsoft plans to buy Catholic Church : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor : Best Russian Programmer Humor : Russian Musical Humor : The Perl Purity Test : Politically Incorrect Humor : GPL-related Humor : OFM Humor : IDS Humor : Real Programmers Humor : Scripting Humor : Web Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor :
The Last but not Least
|You can use PayPal to make a contribution, supporting hosting of this site with different providers to distribute and speed up access. Currently there are two functional mirrors: softpanorama.info (the fastest) and softpanorama.net.|
The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: July 07, 2013