Stuart McLachlan
stuart at lexacorp.com.pg
Tue Oct 20 16:28:39 CDT 2009
200 megabytes tirivial.
I just knocked this up in PowerBasic (this is the complete program!):
#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN () AS LONG
LOCAL strFile AS STRING
LOCAL lngSTart AS LONG
LOCAL strData AS STRING
strFile = "ML_Data.mdb"
lngStart = TIMER
OPEN strFile FOR BINARY AS #1
GET$ #1, LOF(1), strData
CLOSE #1
REPLACE "A" WITH "B" IN strData
OPEN strfile & "fixed" FOR BINARY as#1
PUT$ #1, strData
CLOSE #1
MSGBOX "It took " & STR$(TIMER - lngstart) & " seconds"
END FUNCTION
It compiles to an 11KB executable with no dependencies.
It took 18 seconds to process ML_Data.mdb which is 774MB in size. Most of that time was
taken in reading and writing the file to/from memory.
--
Stuart
On 20 Oct 2009 at 15:53, jwcolby wrote:
> It is my guess that Regex will be too slow. This will be a file with about 100 characters average
> per line, 2 million lines. Doing this in one big read MIGHT be possible (and I will try) but
> reading in 200 million bytes all at once could cause issues.
>
> John W. Colby
> www.ColbyConsulting.com
>
>
> Jack and Pat wrote:
> > John,
> >
> > I did a google search to find this link. I'm not a C# person, but thought
> > I'd pass this on
> >
> > http://dotnetperls.com/regex-replace-1
> >
> > -----Original Message-----
> > From: dba-vb-bounces at databaseadvisors.com
> > [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby
> > Sent: Tuesday, October 20, 2009 11:45 AM
> > To: VBA
> > Subject: [dba-VB] C# replace a special character
> >
> > I have a file which contains a sprinkling of a special character - decimal
> > 26, hex 1A (the SUB
> > character). This special character in the CSV file output to Accuzip causes
> > Accuzip to hiccup. In
> > order to get on with my life I need to pre-process the files to get rid of
> > this special character.
> > Because of the size of these files (hundreds of mbytes) I need to do a
> > readline / replace /
> > writeline kind of thing. I think I need to use the stringbuilder.replace
> > but I do not know how to
> > specify replacing this hex 1A with something else. The something else would
> > ideally be nothing
> > (empty string) but can be any valid alpha character (A, B etc).
> >
> > Can anyone help me with this replace part of the problem. C# syntax please.
> >
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
>