『怪盗グルーのミニオン大脱走』
まだ見てないのですが、ミニオン語の歌に惹かれたので見に行く予定です。
ミニオンたちと人間は言語が違っても通じ合えるので素敵です。
今回はWindowsとLinux間での文字コード変換のためのconvmvの使い方です。
テストファイル準備
適当にUTF8のファイル名のファイルを作ります。
takk@takkpc:~$ touch `ruby -e 'puts ("あ".."こ").to_a.join("")'`.txt takk@takkpc:~$ ls あぃいぅうぇえぉおかがきぎくぐけげこ.txt takk@takkpc:~$
ファイル名の文字コード
作ったファイルのファイル名のエンコードを調べてみましょう。
takk@takkpc:~$ ls あぃいぅうぇえぉおかがきぎくぐけげこ.txt takk@takkpc:~$ ls | nkf --guess UTF-8 (LF) takk@takkpc:~$
UTF8ですね。
convmvでファイル名変換
ではconvmvでSJISに変換します。
オプションの-fはfrom -tは、toですので、UTF8からSJISに変換する場合は、
-f utf8 -t sjisというように指定します。
takk@takkpc:~$ convmv -f utf8 -t sjis * Starting a dry run without changes... mv "./あぃいぅうぇえぉおかがきぎくぐけげこ.txt" "./������������������������������������.txt" No changes to your files done. Would have converted 1 files in 0 seconds. Use --notest to finally rename the files. takk@takkpc:~$
確認しましょう。
takk@takkpc:~$ ls あぃいぅうぇえぉおかがきぎくぐけげこ.txt takk@takkpc:~$
あれ、変換されてませんね。
convmvは、いきなり変換しない親切設計になってますので、変換を実施する場合は、–notestが必要です。
–notestをつけてもう一度実行してみましょう。
takk@takkpc:~$ !-2 --notest convmv -f utf8 -tsjis * --notest mv "./あぃいぅうぇえぉおかがきぎくぐけげこ.txt" "./������������������������������������.txt" Ready! I converted 1 files in 0 seconds. takk@takkpc:~$ ls ????????????????????????????????????.txt takk@takkpc:~$
nkfコマンドでファイル名がSJISになったか調べてみます。
takk@takkpc:~$ ls | nkf --guess Shift_JIS (LF) takk@takkpc:~$
SJISになりました。
コメント