On Sat, Jul 03, 2010 at 02:15:06AM +0900, Christian Smith wrote: > Rob Biedenharn wrote: > > On Jul 2, 2010, at 7:11 AM, Brian Candler wrote: > >>> > >>> csv4 96 lines 10 cols > >>> > >>> Thanks! > >>> > >>> Seed > >> > >> Why use fastercsv? > >> cat csv1 csv2 csv3 >csv4 > >> would meet your requirement. > > > > except that you'd have headers from csv2 and csv3 (but perhaps your > > line counts imply no headers?) > > > >> > >> But if you want to use fastercsv, then open each file in turn, read it > >> line at a time, and output the line you just read. > >> -- > > > > If the files are small-ish, you can avoid a chicken-and-egg problem of > > the headers by reading all the input files (saving the headers from > > the first), then writing it all out from memory. > > > > -Rob > > > > Rob Biedenharn > > Rob / AgileConsultingLLC.com http://AgileConsultingLLC.com/ > > rab / GaslightSoftware.com http://GaslightSoftware.com/ > > If the files are small-ish, you can avoid a chicken-and-egg problem of > the headers by reading all the input files (saving the headers from > the first), then writing it all out from memory. > > The files aren't smallish but memory isn't an issue. I would love to be > able to do this. I am able to read the 3 files into an array but it's > parsing them back into 1 csv I am having trouble with. I would assume > this would be a lot faster than a line read>write approach. > > -- > Posted via http://www.ruby-forum.com/. just cat and grep out the header lines cat csv* |grep -v string-portion-unique-to-headers > full.csv If you want to head a header row, then cat csv* | grep string-portion-unique-to-headers |sort | uniq > full.csv cat csv* | grep -v string-portion-unique-to-headers >> full.csv