tigerd
7/21/2006 8:59:00 AM
Hey.
I hva got a really mindchrusher problem. I've made a program that
somewhere goes through a list of files, picked with a tar command, and
then collects the size and time of every single file/dirs. It goes
something like this:
system("tar --totals -cvf /dev/null -C #{@basedir} #{directory} >
#{@tempfile} 2> /dev/null")
templist = File.new(tempfile)
while file = templist.gets
next if file == nil
file = file.chop
if file =~ /.*?\/$/
stat_d = File::Stat.new(File.join(TEMPDIR, file)) if
(@mode['static'] == nil)
stat_d = File::Stat.new("#{@basedir}/#{file}") if
(@mode['static'] != nil)
end
end
The problem now is that if a file has a special character, tar puts the
filename like this
1. /../path/bioligep\345.psd
this file ruby cannot find, since the name in the unix-world is(its on
a linux platfom)
2. /../path/bioligep?.psd
My question is: Is there anyway I can translate the line no. 1 into
line no 2? Ive looked at the File.fnmatch but havent really gotten
anywere
Greeting, Allan