Problems with escaped characters in file::stat

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 =
while file = templist.gets
next if file == nil
file = file.chop
if file =~ /.*?/$/
stat_d =, file)) if
(@mode[‘static’] == nil)
stat_d ="#{@basedir}/#{file}") if
(@mode[‘static’] != nil)

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

Greeting, Allan

ps. the ? is acutally a æ in the real world…but unix pukes on it…

On Jul 21, 2006, at 5:00 AM, tigerd wrote:


string_to_pass_to_stat = filename_string.gsub(/\(\d{3})/){ $1.to_i
(8).chr }

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs