May 26, 2004, 02:57 PM
StanAdding 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
TerryWWell, a simple sed script would be:
sed 's/$/\$/' filename >newfilename
Is this what you wanted?
TW
May 26, 2004, 03:15 PM
StanHmm. 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
StanOops. My bad. Yours works fine. I'm just an idiot! Thanks and have a great day.
stan
May 26, 2004, 03:27 PM
TerryWLOL -- "beginning of the last line of each record"?
Think for a minute how that makes any sense.
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