Hi,
how to alter tail function to start at the end
of the file, not reading the lines already existing in file ? =
File = File.open(ARGV[0])
while File.exists?(file.path)
puts file.gets while !file.eof?
sleep(1)
end
Regards, Gilbert
Hi,
how to alter tail function to start at the end
of the file, not reading the lines already existing in file ? =
File = File.open(ARGV[0])
while File.exists?(file.path)
puts file.gets while !file.eof?
sleep(1)
end
Regards, Gilbert
Hi,
how to alter tail function to start at the end
of the file, not reading the lines already existing in file ? =
file.seek 0, IO::SEEK_END
File = File.open(ARGV[0])
while File.exists?(file.path)
puts file.gets while !file.eof?
sleep(1)
end
File#eof? does not work here. When the file has been
extended it still returns true even though File#gets will
return a String object.
Bertram
Am Mittwoch, 22. Aug 2007, 18:20:12 +0900 schrieb Rebhan, Gilbert:
--
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de
/*
Hi,
how to alter tail function to start at the end
of the file, not reading the lines already existing in file ? =
file.seek 0, IO::SEEK_END
*/
thanks, with your pointer and an older post by Robert Klemme
i have a working solution now =
def tail(file, interval=1)
raise "Illegal interval #{interval}" if interval < 0
File.open(file) do |io|
io.seek 0, IO::SEEK_END
loop do
while ( line = io.gets )
puts line
end
# uncomment next to watch what is happening
puts "-"
sleep interval
end
end
end
Anything to improve ?
Regards, Gilbert
-----Original Message-----
From: Bertram Scharpf [mailto:lists@bertram-scharpf.de]
Sent: Wednesday, August 22, 2007 12:14 PM
To: ruby-talk ML
Subject: Re: tail, start reading at EOF
Am Mittwoch, 22. Aug 2007, 18:20:12 +0900 schrieb Rebhan, Gilbert:
gem install file-tail
Then look at the rdoc for it. There's an example that does an implementation of the Unix tail command. It's a lot more capable that what you have here, but if you wanted to start some number of lines before the EOF, the file-tail gem is really what you want.
-Rob
Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com
On Aug 22, 2007, at 6:27 AM, Rebhan, Gilbert wrote:
-----Original Message-----
From: Bertram Scharpf [mailto:lists@bertram-scharpf.de]
Sent: Wednesday, August 22, 2007 12:14 PM
To: ruby-talk ML
Subject: Re: tail, start reading at EOF/*
Hi,Am Mittwoch, 22. Aug 2007, 18:20:12 +0900 schrieb Rebhan, Gilbert:
how to alter tail function to start at the end
of the file, not reading the lines already existing in file ? =file.seek 0, IO::SEEK_END
*/thanks, with your pointer and an older post by Robert Klemme
i have a working solution now =def tail(file, interval=1)
raise "Illegal interval #{interval}" if interval < 0File.open(file) do |io|
io.seek 0, IO::SEEK_END
loop do
while ( line = io.gets )
puts line
end
# uncomment next to watch what is happening
puts "-"
sleep interval
end
end
endAnything to improve ?
Regards, Gilbert