On Sat, 1 Nov 2008 20:17:54 -0800, "David Allen" <[EMAIL PROTECTED]> wrote:
> On 11/1/08, Jeremy Chadwick <[EMAIL PROTECTED]> wrote: > > On Sat, Nov 01, 2008 at 06:21:55PM -0700, David Allen wrote: > >> My apologies for asking on this list, but I'm stuck without Perl and need > >> to use awk to generate a report. > >> > >> I'm working with a large data set spread across multiple files, but to > >> keep things simple, say I have A Very Long String that containing records, > >> each delimited by a single space. I need to print those records in > >> columnar format, but with only 7 columns per line: > >> > >> record1 record2 record3 record4 record5 record6 record7 > >> record08 record09 record10 record11 record12 record13 record14 > >> ... > >> > >> Should be simple, but I'm getting nowhere. > > > > $ cat input > > col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 > > > > $ cat output.awk > > { > > print $1 " " $2 " " $3 " " $4 " " $5 " " $6 " " $7 > > print $8 " " $9 " " $10 " " $11 " " $12 " " $13 " " $14 > > } > > > > $ cat intput | awk -f output.awk > > col1 col2 col3 col4 col5 col6 col7 > > col8 col9 col10 col11 col12 col13 col14 > Maybe you want them to line up too. Would using tabs be appropriate? Maybe something like this? awk -F\ '{for (i=1;i<NF;i+=7) print $i "\t" $(i+1) "\t" $(i+2) "\t" $(i+3) "\t" $(i+4) "\t" $(i+5) "\t" $(i+6) }' input > Thanks for the reply, Jeremy, but that approach would require an > entirely manual approach, which isn't suitable for what I'm working > with. Writing a script that's the same size as the data I'm working > with isn't an option. ;-) > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "[EMAIL PROTECTED]" _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"