複雑なファイル名を持ついくつかの Excel ファイルを処理するために roo を使用しています (例: "Patient Status Up-Date-V2 051812.xlsx")。これらは、OS コマンドで適切にエスケープすることで検出されますが、Ruby roo (fileutils を使用) からでは検出されません。
ls -lt Patient\ Status\ Up-Date-V2\ 051812.xlsx
ショー:
-rw-r--r-- 1 hamid hamid 128770 5 月 22 日 09:22 患者状況の更新-V2 051812.xlsx
しかし
ruby -rubygems ./findbi.rb Patient\ Status\ Up-Date-V2\ 051812.xlsx
与えます:
/usr/local/lib/ruby/gems/1.8/gems/roo-1.10.1/lib/roo/excelx.rb:103: in `initialize': file Patient\ Status\ Up-Date-V2\ 051812.xlsx存在しません (IOError)
エスケープのさまざまなバリエーション(「-」など)、権限の変更、ルートとしての実行などを試しましたが、役に立ちませんでした。Excelx.rb の 103 行目は次の行です: raise IOError, "file #{@filename} does not exist"
Perl を取り出す前に助けてください!
ありがとう、ハミド。