On Thu, Oct 16, 2003 at 06:24:32PM -0700, Bill Kendrick wrote: > > Has anyone got a Perl or sed script handy that can take a CSV > (comma-separated values) text file like this: > > "1234","Hello","ABCD" > "1235","Hello > there","XYZ" > "1236","Goodbye","LLLL" > > and make it look like this: > > "1234","Hello","ABCD" > "1235","Hello there","XYZ" > "1236","Goodbye","LLLL" > > e.g., wherever there are EOLs _within_ fields (between quotes), have it > replace those with something (in my example above, just a space)
Let's see if this works. (Warning: use at own risk!)
while(<>)
{
$line = $_;
chomp $line;
while (scalar($line =~ s/([^\\]")/$1/g ) % 2)
{
$line .= <STDIN>;
chomp $line;
}
print "$line\n";
}
I tested this on the example you provided, and it seems to work.
> I'm unfortunately dealing with Excel, and even it is too stupid to remember
> when its within a field, so you end up with a spreadsheet like this:
>
> 1234 | Hello | ABCD
> 1235 | Hello | [blank]
> there | XYZ | [blank]
> 1236 | Goodbye | LLLL
>
> I've dealt with this issue before, but it was years ago. And I used C. ;^)
>
> Thx!
>
> -bill!
>
> _______________________________________________
> vox-tech mailing list
> [EMAIL PROTECTED]
> http://lists.lugod.org/mailman/listinfo/vox-tech
--
Samuel Merritt
OpenPGP key is at http://meat.andcheese.org/~spam/spam_at_andcheese_dot_org.asc
Information about PGP can be found at http://www.mindspring.com/~aegreene/pgp/
pgp00000.pgp
Description: PGP signature
