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: > 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 as well. > > Phil > > > On Fri, Jun 27, 2014 at 6:21 PM, Guillermo Polito <guillermopol...@gmail.com> > wrote: > 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.be <p...@highoctane.be> > wrote: > 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 was something > available. > > Reading through with a 200-entries FIFO circular buffer seems a bit silly to > do. > > TIA > Phil > > > >