[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Need ruby code to get a latest file from a Directory

Rajeswar reddy Gaulla

8/18/2008 5:23:00 PM

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
--
Posted via http://www.ruby-....

2 Answers

Nathan Powell

8/18/2008 5:43:00 PM

0

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
------------------------------------

brabuhr

8/18/2008 6:03:00 PM

0

On Mon, Aug 18, 2008 at 1:23 PM, Rajeswar reddy Gaulla
<rajeswarr@ivycomptech.com> wrote:
> 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.

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

?