Chas Conquest wrote in post #1051998:
I'm needing to cull 900 files from about 3500 files in 100 different
directories.I have an array with the 900 files ie. ["2100_01", "2102_05", "2105_04",
"etc....."]
That would be an array of fileNAMES.
The files in question are named like so...."2100_01.aif"
Based on the array, I need to match/find these files from within the
100 directories and copy/move each one into a new single directory.
Pathname has quite a few nice tools for this. Something along these
lines could work:
require 'set'
require 'pathname'
array = ... # as described
source = ... # source directory path
target = ... # target directory path
index = array.to_set # more efficient lookup
tgt = Pathname(target)
abort "Not a directory: #{tgt}" unless tgt.directory?
Pathname(source).find do |f|
f.file? and index.include? f.basename('.aif') and
f.rename(tgt + f.basename)
end
Kind regards
robert
ยทยทยท
--
Posted via http://www.ruby-forum.com/\.