Focal Point
Adding a $ to end of each record?

This topic can be found at:
http://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/8921087331

May 26, 2004, 02:57 PM
Stan
Adding a $ to end of each record?
I need to know if anyone already has an awk or sed command that will add the '$' to the end of each record of a UNIX flat file. I want to write an MFD against a variable length comma separated file and it seems the easiest way is to append each record with a dollar sign.

Thanks,
Stan
May 26, 2004, 03:06 PM
TerryW
Well, a simple sed script would be:

sed 's/$/\$/' filename >newfilename

Is this what you wanted?

TW
May 26, 2004, 03:15 PM
Stan
Hmm. That gave me an odd result with the dollar sign getting inserted at the beginning of the last line of each record. I'm thinking now that I may be able to get it with
awk '{print $0 "$"}' oldfile.dat > newfile.dat
May 26, 2004, 03:23 PM
Stan
Oops. My bad. Yours works fine. I'm just an idiot! Thanks and have a great day.
stan
May 26, 2004, 03:27 PM
TerryW
LOL -- "beginning of the last line of each record"?

Think for a minute how that makes any sense. Red Face

Now, I think what's actually happening is that you probably have a fixed record length of 80 characters per line, and the $ is being put in position 81. The line wrap on your terminal makes it appear to be at the first character on a separate line.

So, with this assumption in mind, you want to "change" the last character to a $ instead of appending it.

sed 's/.$/\$/' filename >newfilename

TW
May 27, 2004, 12:14 PM
Bob Jude Ferrante
'Course, if this is to generate a flat file in comma-delimited format for WebFOCUS to read, you don't have to do this.

there is a mode called PCOMMA that lets you read standard, modern comma-delimited files.

Just issue

SET PCOMMA=ON

or override in a table as

ON TABLE SET PCOMMA ON

Cheers