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とおこられてしまう。
バックスラッシュが入れられないので「.」がメタ文字として扱われてしまう。今回はまぁそれでもいいのだけど。うーん。
#文字化けしちゃうので、文中のバックスラッシュは全角にしてます