Merges given files line by line

paste -d ',:' file1 file2 file3
In the above example all files have 4 lines. In "file1" consecutive lines are: "num, 1, 2, 3", in "file2": "name, Jack, Jim, Frank" and in "file3": "scores, 1300, 1100, 980". This one liner can save considerate ammount of time when you're trying to process serious portions of data. "-d" option allows one to set series of characters to be used as separators between data originating from given files.
Sample Output

By: thebodzio
2009-06-17 00:11:04

What Others Think

That's a handy dandy command. :-) It is also possible to do a two file merge using sdiff and a little "data transforming" with sed/awk.
mpb · 674 weeks and 3 days ago
True, true? :) Could you prepare awk alternative? It would be very nice to have one here.
thebodzio · 672 weeks ago
does anybody know how to merge stdout lines? e.g. say I want to make my new version of ls that shows file and permissions (like a shorted ls -l). It would look something like this: ls -l |cut -c1-10 >/tmp/file1; ls -1 >/tmp/file2; paste /tmp/file{1,2} It's not just for the above example, but other stuff I have swirling in my mind.
Buzzcp · 650 weeks and 6 days ago
How about using stat -c "%A %n" * in this particular case? ?stat? is more powerful than that.
thebodzio · 650 weeks and 6 days ago
One more thing about "paste". It can take "-" instead of file name. This makes "paste" to read lines from stdin. Nice thing here is that you can use more that one "-"s. For example if you've got file: author Shakespeare title Hamlet You can do cat file | paste - - to transform it into author Shakespeare title Hamlet
thebodzio · 650 weeks and 6 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this? is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.


Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: