Re: Need help for import of text file

From: Steve Clark <sclark(at)netwolves(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Need help for import of text file
Date: 2012-12-16 23:30:24
Message-ID: 50CE5990.7090404@netwolves.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 12/16/2012 01:12 PM, Peter Bex wrote:
> On Sun, Dec 16, 2012 at 06:48:35PM +0100, Andreas wrote:
>> With sed as startingpoint I figured it out.
>> Those 3 steps make the input files consumable for COPY
>>
>> 1. dos2unix
>> 2. sed -i 's/[ \t]*$//'
>> 3. sed -i 's/ / /g'
> You can reduce this to one invocation by separating the commands
> by a semicolon (or by passing multiple -e flags)
>
> sed -i 's/[ \t]*$//;s/ / /g'
>
>> The input files get created by a simple windows batch where I can't
>> change anything.
>> It uses echo to attach a line of 4 parameters to those textfiles.
>>
>> How would you manage if one or more of those parameters contained blanks
>> in some cases?
>> This doesn't appear, yet. But I consider this as luck. :}
>>
>> The real column formats are ( TEXT, TEXT, DATE, TIME ).
> Well, that's a bit trickier and my sed skills are rather rusty.
> I'd probably use awk for these more complex tasks:
>
> awk '/\(.*\)/ { gsub(/ +/, " "); } { print $0 }'
>
> The "gsub" command acts like sed's "s" command with the "g" modifier.
> By prefixing the block with the gsub command with a regex, it only
> acts on that regex. The regex in this example only looks for an opening
> and a closing paren anywhere on the line; you might need to tweak it
> to more closely match your case. Alternatively, you could implement
> a counter that skips the four lines (which can be done with both sed
> and awk).
>
> If it gets more complex than this, you can always write a proper
> program in a "real" language to do it. This can be easier to maintain.
>
> Cheers,
> Peter
why not use the squeeze option of tr.

tr -s " "

--
Stephen Clark
*NetWolves*
Director of Technology
Phone: 813-579-3200
Fax: 813-882-0209
Email: steve(dot)clark(at)netwolves(dot)com
http://www.netwolves.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter Bex 2012-12-16 23:33:41 Re: Need help for import of text file
Previous Message Guillaume Lelarge 2012-12-16 22:27:44 Re: XML Schema for PostgreSQL database