Need ruby code to get a latest file from a Directory

Hi All,

I am having log files with time stamp in a log directory, how to open a
latest log file and read it?.

Eg:
directory name log/
files
log/log20080812152634Lbuild.34.xml
log/log20080812122634Lbuild.34.xml
log/log20080812102634Lbuild.34.xml
log/log20080811142634Lbuild.34.xml
log/log20080811122634Lbuild.34.xml

If anybody know the solution, please let me know.

With Regards
GRR

On Tue, Aug 19, 2008 at 02:23:07AM +0900, Rajeswar reddy Gaulla wrote:

I am having log files with time stamp in a log directory, how to open a
latest log file and read it?.

Dir.entries(’.’).sort_by {|f| File.mtime(f)}.reverse[0]

Does that do what you want?


nathan
nathan_at_nathanpowell_dot_org

If all else fails, immortality can always be assured by spectacular
error.
~ John Kenneth Galbraith

On Mon, Aug 18, 2008 at 1:23 PM, Rajeswar reddy Gaulla
[email protected] wrote:

log/log20080811122634Lbuild.34.xml

If anybody know the solution, please let me know.

Maybe something like:

newest_file = Dir.entries(Dir::pwd).sort_by{|e|

assuming that the files are always log + TIMESTAMP + L:

scan(/log\d{14}L/)[0]
}.last

File.open(newest_file, “r”) do |f|
#…
end

?