OT: Shell Script using Awk

David Allen the.real.david.allen at gmail.com
Sat Nov 1 22:03:28 PDT 2008


On 11/1/08, Gary Newcombe <gary at pattersonsoftware.com> wrote:
> On Sat, 1 Nov 2008 18:21:55 -0700, "David Allen"
> <the.real.david.allen at gmail.com> 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.
>
> Is this what you're after?
>
> $ cat input
> col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14
> col15 col16 ....
>
> cat input | awk -F\  '{for (i=1;i<NF;i+=7) print
> $i,$(i+1),$(i+2),$(i+3),$(i+4),$(i+5),$(i+6) }'

Bingo!   That was what similar to what I was starting with before
going off on a tangent.  Seems I screwed up the syntax and gave up too
early.

Thanks, Gary.


More information about the freebsd-questions mailing list