Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-29 Thread Denis Kudriashov
I look now at streams image. I actually not use XStreams but look at it some times ago. So I solve your task with such code: s:= FileLocator changes reading . reversed := [ :out | s -= 1. [s position=0] whileFalse: [ out put: s peek. s -- 1 ] ] reading. lines := (reversed ending: Character cr asIn

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-29 Thread p...@highoctane.be
Le 29 juin 2014 16:42, "Sven Van Caekenberghe" a écrit : > > > On 29 Jun 2014, at 16:18, Denis Kudriashov wrote: > > > It should be trivial with XStream > > I would love to see that code. > > We have Xtreams building happily > > https://ci.inria.fr/pharo-contribution/job/Xtreams/ > > it is wait

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-29 Thread Sven Van Caekenberghe
On 29 Jun 2014, at 16:18, Denis Kudriashov wrote: > It should be trivial with XStream I would love to see that code. We have Xtreams building happily https://ci.inria.fr/pharo-contribution/job/Xtreams/ it is waiting in the trenches, waiting to be used... > 2014-06-27 21:45 GMT+04:00 Sven

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-29 Thread Denis Kudriashov
It should be trivial with XStream 2014-06-27 21:45 GMT+04:00 Sven Van Caekenberghe : > > http://stackoverflow.com/questions/10164597/how-would-you-implement-tail-efficiently > http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/tail.c > > I would work with the growing buffer read backwards.

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-28 Thread David T. Lewis
On Sat, Jun 28, 2014 at 08:19:41AM +0200, p...@highoctane.be wrote: > Le 28 juin 2014 01:18, "David T. Lewis" a ??crit : > > > > On Fri, Jun 27, 2014 at 06:50:11PM +0200, p...@highoctane.be wrote: > > > Thanks. > > > > > > But this would give me the 200 last chars. I am interested in the 200 > las

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-27 Thread p...@highoctane.be
Le 28 juin 2014 01:18, "David T. Lewis" a écrit : > > On Fri, Jun 27, 2014 at 06:50:11PM +0200, p...@highoctane.be wrote: > > Thanks. > > > > But this would give me the 200 last chars. I am interested in the 200 last > > lines. > > > > Now, I did this: > > > > command := 'tac ', file fullName, ' |

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-27 Thread David T. Lewis
On Fri, Jun 27, 2014 at 06:50:11PM +0200, p...@highoctane.be wrote: > Thanks. > > But this would give me the 200 last chars. I am interested in the 200 last > lines. > > Now, I did this: > > command := 'tac ', file fullName, ' | head -200'. > ^ (PipeableOSProcess command: command) output. > > w

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-27 Thread Sven Van Caekenberghe
http://stackoverflow.com/questions/10164597/how-would-you-implement-tail-efficiently http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/tail.c I would work with the growing buffer read backwards. It would be great fun doing that in Pharo. On 27 Jun 2014, at 18:50, p...@highoctane.be wrote:

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-27 Thread p...@highoctane.be
Thanks. But this would give me the 200 last chars. I am interested in the 200 last lines. Now, I did this: command := 'tac ', file fullName, ' | head -200'. ^ (PipeableOSProcess command: command) output. which did the trick but isn't portable at all (Linux here). I had a look at RemoteString a

Re: [Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-27 Thread Guillermo Polito
If you have a MultiByteFileStream you can do stream position: stream size - 200. stream next: 200. Have a look at RemoteString, which is the class used to read the source from the source and changes files (without loading all of them into memory) On Fri, Jun 27, 2014 at 6:15 PM, p...@highoctane

[Pharo-users] Reading the last n lines from a file without using lots of memory

2014-06-27 Thread p...@highoctane.be
I wonder how you guys would read the last n lines from a file in Pharo without reading through the whole thing. Is there code doing just that somewhere? The code I have is a shell script doing a 'tac file | tail -200 > /temp/something' I can always do that through OSProcess but wondered if there