ちくちく日記

DTP系備忘録。真面目にやってます。

do shell scriptで正規表現

Apple Scriptからrubyに文字列を渡して、拡張子をとるという処理をしようとしているのだけど

do shell script "ruby -e 'print ARGV[0].sub(/.indd$/,\"\")' '20060204.indd'"

/.indd$/
の部分、メタ文字の「.」を普通の文字として扱うため「.」の前にバックスラッシュを入れたいのだけど、素直に
do shell script "ruby -e 'print ARGV[0].sub(/\.indd$/,\"\")' '20060204.indd'"とすると、AppleScirptからSyntax Errorとおこられてしまう。

バックスラッシュが入れられないので「.」がメタ文字として扱われてしまう。今回はまぁそれでもいいのだけど。うーん。

#文字化けしちゃうので、文中のバックスラッシュは全角にしてます