Re: Problem with large .txt file [message #55137 is a reply to message #55038] |
Tue, 31 July 2007 10:36  |
Conor
Messages: 138 Registered: February 2007
|
Senior Member |
|
|
On Jul 31, 1:15 pm, hradilv <hrad...@yahoo.com> wrote:
> On Jul 31, 11:27 am, "Haje Korth" <haje.ko...@nospam.jhuapl.edu>
> wrote:
>
>
>
>> set i ti i=0l (make it a long)
>
>> H.
>
>> <aleks.fra...@gmail.com> wrote in message
>
>> news:1185897834.196562.301440@57g2000hsv.googlegroups.com...
>
>>> Hy there!
>>> I have a large txt file (6.384KB) with 65000 lines. It's very large.
>>> I need to open it, read every line, replace the spaces for commas, and
>>> write the result in an output.txt
>
>>> The code is ok. The problem is that idl crashes on line 7208. There's
>>> a memory problem there.
>
>>> Is there any way to do for all the lines of the txt file?? I don't
>>> know how to deal with memory problems. Sorry!
>
>>> I'm doing like this
>
>>> :-----------------CUT HERE--------------------
>>> i=0
>>> line=''
>>> ; Open the text file:
>>> OPENR, inunit, '60mil_equal.txt', /GET_LUN
>>> ; Open the terminal as a file:
>>> OPENW, outunit, 'output.txt', /GET_LUN
>>> ;================================
>>> WHILE ~EOF(inunit) DO BEGIN
>>> READF, inunit, line
>>> line = STRJOIN(STRSPLIT(line, /EXTRACT), ', ')
>>> PRINTF, outunit, line
>>> i =i+1
>>> ENDWHILE
>
>>> FREE_LUN, inunit
>>> FREE_LUN, outunit
>
>>> END
>>> :-----------------CUT HERE--------------------
>
>>> Thank you very much
>
> Or just use sed... Right tool for the right job.
I was going to say use perl, but I suppose that's a bit simpler.
sed 's/ /,/g' < 60mil_equal.txt > output.txt
viola! Simple and elegant.
Of course, considering that your files have a .txt extension, it seems
likely that you are on a windows machine, and therefore have no access
to sed. In that case, I would recommend learning perl, which can
easily be installed on windows. A better option would be to just use
linux or mac :)
|
|
|