Directory lstat mass listing

J

Jon Hawkins

Been trying to get a full list of file sizes out of a directory
structure, starting from '/' ... The code below wont work because the
method doesnt accept wildcards, and instead gives the size of the
directory block rather than the file sizes within it.

Dir.chdir('/')

File.size("**/**").each {|x| puts x}


and the problem with File.size("/.") is that it list the size of the
directory
block size '4096'

i was thinking that somehow i could run a directory surf with the
Find.find method
--- Find.find("/", "./") {|path| puts path} ---
and shove that data into an array, then run File.size on each array item
with a range... anyone have any ideas?
-Thanks
 
M

Matt White

Been trying to get a full list of file sizes out of a directory
structure, starting from '/' ... The code below wont work because the
method doesnt accept wildcards, and instead gives the size of the
directory block rather than the file sizes within it.

Dir.chdir('/')

File.size("**/**").each {|x| puts x}

and the problem with File.size("/.") is that it list the size of the
directory
block size '4096'

i was thinking that somehow i could run a directory surf with the
Find.find method
--- Find.find("/", "./") {|path| puts path} ---
and shove that data into an array, then run File.size on each array item
with a range... anyone have any ideas?
-Thanks

Here's some code to help get you further:

def crawl(current_dir)
Dir.entries(current_dir).each do |entry|
if File.directory?(entry)
crawl(entry)
else
puts File.size(entry)
end
end
end

Note that this code cut-and-pasted will not work. For example, make
sure you don't visit "." and ".." or you will be in an infinite loop.
Ask again if you still need more assistance.

Matt White
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top