MacのZumoDriveでFinderから日本語ファイルにアクセスするために
ZumoDriveに濁音・半濁音を含む日本語ファイルを作成すると
$ echo test >/Volumes/ZumoDrive-501/テストだよ.txt
$ open -a TextEdit /Volumes/ZumoDrive-501/テストだよ.txt
The file /Volumes/ZumoDrive-501/テストだよ.txt does not exist.
となってアクセスできなくなります.Finderからアクセスしようとすると
となります.
ちなみにアクセスできないのはMac用のアプリで,UNIXコマンドからはアクセスできます.
おそらく,MacのファイルシステムはUTF8-MACなので,Mac用のアプリがUTF8のファイル名を受け取るとUTF8-MACに変換してアクセスしようとしているのではないかと思います.
試しに次のようにして2種類のファイルを作成します.
$ cd /Volumes/ZumoDrive-501/
$ echo test utf8 >テストだよ.txt
$ echo test utf8-mac >`echo テストだよ.txt | iconv -f utf8 -t utf8-mac`
$ ls
テストだよ.txt テストだよ.txt
「テストだよ.txt」を開いてみます.
$ open -a TextEdit テストだよ.txt
UTF8-MACのファイルが開きましたね.
Finderからアクセスすると,どちらをクリックしても同じファイルが開きます.
というわけで,ファイル名をUTF8-MACに変換してやればアクセスできるようになるみたいです.
一括で変換しようと思うと次のような感じですかね?
※実行は自己責任でお願いします!
$ pwd
/Volumes/ZumoDrive-501
$ find . -type f -print0 | while read -r -d '' file; do eval mv \""$file"\" \""`echo "$file" | iconv -f utf8 -t utf8-mac`"\"; done
※この後にキャッシュしてあるファイルを開こうとすると最初は失敗するかもしれませんが,2回目以降は大丈夫だと思います
※ファイル名変換後のファイルにはWindowsとUbuntuとiPhoneのZumoDriveでもアクセスしてみましたが問題ありませんでした
やってることはめちゃくちゃ単純なんですが,このワンライナーに辿り着くまでにめちゃくちゃ試行錯誤を要しました…・
ワンライナー作成の参考にしたページはこちら↓
- find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編(1/4):CodeZine
(3/4), (4/4) は会員登録する必要がありますが一見の価値あり!! - Multiple spaces condense in shell script variable? - Shell Scripting
$file と “$file” は別ものです!
あ,ちなみにMacのファイルシステム上で日本語ファイルを作成しても勝手にUTF8-MACになるみたいです.
ZumoDriveと同様MacFUSEを使っているSSHFSも同じような現象が確認できたので,SSHFSで日本語ファイルにアクセスできないと嘆いている人もファイル名を変換するといいのではないかと思います.
ではでは,快適なZumoDrive生活をっ!!