[vox-tech] Changing data with awk

Mark K. Kim vox-tech@lists.lugod.org
Fri Jun 4 23:36:42 PDT 2004


Unfortunately that wouldn't work since Richard wants to modify the column
in the file, not strip it out at the same time he modifies it...  Unless
you know of some way to re-insert the modified column back into the file
(I don't.)  Good try, though.

I'm not an awk expert but I'd guess you could do something like:

  awk -F^ '{$6=gensub(/\r/,"<cr>","",$6);
           printf("%s^%s^%s^%s^%s^%s\n",$1,$2,$3,$4,$5,$6)}' test.dat

I'm sure someone's got a better idea that putting all those %s's...

-Mark

PS: Then there's PERL... =P


On Fri, 4 Jun 2004, Dylan Beaudette wrote:

> > I have a large flat file generated by SQL Loader that I'd like to mess
> > around with; specifically, I'd like to replace all of the carriage returns
> > in one field with some other character, since they're messing up my data
> > load.
> >
> > I figured I'd use awk, since it's a pretty powerful little tool for
> > getting right to the data.  If I use:
> >
> > $ awk -F^ {print $6} test.dat
> >
> > I get the field that I want.  But how do I change the characters in that
> > field and replace them in test.dat?
>
>
> i recently had a similar problem: trying to convert
> this:
> 1<CR>
> 2<CR>
> 3<CR>
> ...
>
> into this: 1, 2, 3...
>
> here is how i did it:
>
> append a comma+space to the end of each line with sed
> then remove each CR using tr:
>
> sed -e 's/$/, /g' input_file | tr -d "\n" > output_file
>
> so something like this might do the trick:
>
> awk -F^ {print $6} test.dat | sed -e 's/$/, /g' | tr -d "\n" > output_file
>
>
> .. you would be left with one column of data that would have to be
> re-instered into the DB, or added back to the original file.
>
> the command 'paste' might be helpful for appending the data to the
> original...
>
>
> good luck!
>
> Dylan
>
>
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
>

-- 
Mark K. Kim
AIM: markus kimius
Homepage: http://www.cbreak.org/
Xanga: http://www.xanga.com/vindaci
Friendster: http://www.friendster.com/user.jsp?id=13046
PGP key fingerprint: 7324 BACA 53AD E504 A76E  5167 6822 94F0 F298 5DCE
PGP key available on the homepage



More information about the vox-tech mailing list