青木@名古屋です。 nkfでうまく変換できないとなると望み薄かもしれませんが、 converters/convmvでファイル名を変換してしまうという手は?
あれば便利な状況もありますし、--notestオプションを指定 しなければ実際のリネームは行われない(所謂dry-run)ので 試す価値はあるかと。 あと、気になったのですが、nkfで文字コードの自動判別がちゃんと 機能していない可能性もありそうです。 ※ある程度以上の大きさで割と先頭付近に判別に使える文字が 適切な数あればいいのですが、ファイル名だと文字数が足りない 可能性も...。 その場合、手動で指定してあげれば大丈夫な可能性がありますが、 そもそも、Windoze上のzipでアーカイブに格納されるファイル名って 何でしたっけ? もしローカルのファイル名を変換せずに格納しているなら、 非VFATの FAT系なら Shift-JIS(CP932)、それ以外ならUCS-2(記録形式としては UTF-16LEかUTF-8)かと。 この場合、格納されていたファイル名がUTF-8なら変換する意味が 無い筈なのでUTF-8は置いておいて、 Shift-JISならnkf -S -w UTF-16LEならnkf -W16L -w か nkf -W16L0 -w ※UTF-8でローカルもUTF-8ならそもそも化けてはおかしいし、UTF-16LE だとASCII文字の範囲すら2バイトになってしまうので使うかどうか 疑問ですが、そこまでは調べきれていません。 ※0の有無はBOMの有無です。 convmvの場合、安全のため回答したファイル以外の入っていない 作業ディレクトリを使う前提として、各々 convmv -f shiftjis -t utf-8 -r 作業ディレクトリ名 (convmv -f CP932 -t utf-8 -r 作業ディレクトリ名 かも?) convmv -f UTF-16LE -t utf-8 -r 作業ディレクトリ名 (convmv -f UCS-2LE -t utf-8 -r 作業ディレクトリ名 かも?) でいけるかと。 確認が取れて実際に変換する場合、オプションに --notestを追加です。 ※-rはサブディレクトリがあった場合に再帰的に処理させる オプションです。 convmvの扱えるエンコーディングはconvmv --listで見られます。 .....まさか、ISO-2022-JPやISO-2022-JP-1で格納されていると いうことは無いですよね? DOS系(95等)・NT系(2000や eXPerimental以降)の両方で無駄な変換が出ますし...。 On Sun, 12 Nov 2017 11:54:15 +0900 maruy...@ism.ac.jp (丸山直昌) wrote: > 統計数理研究所の丸山@ Windows大嫌い、です。 > > Windowsで作ったzipアーカイブを添付ファイルで送られてくると、 packageにあ > るunzipを使って解凍してますが、日本語のファイル名のファイルは取り出すこ > とはできても、ファイル名が復元できなくて、困ることがあります。(ファイル > 名に重大な意味を込める人がいます。) > > % unzip -l xxx.zip |nkf -w > > などとしてもファイル名は見えません。これ何とかならないものでしょうか。 > > # Windows にファイル転送して見る、という回答はなしですよ。 > > [maruyama@pc01{1017}] ~% pkg info unzip > unzip-6.0_6 > Name : unzip > Version : 6.0_6 > Installed on : Fri Dec 9 01:28:23 2016 JST > Origin : archivers/unzip > Architecture : freebsd:10:x86:64 > Prefix : /usr/local > Categories : archivers > Licenses : Info-ZIP > Maintainer : eha...@freebsd.org > WWW : http://www.info-zip.org/UnZip.html > Comment : List, test, and extract compressed files from a ZIP archive > Options : > CHINESE : off > DOCS : on > ICONV : off > KOREAN : off > RUSSIAN : off > Annotations : > cpe : cpe:2.3:a:info-zip:unzip:6.0:::::freebsd10:x64:6 > Flat size : 305KiB > (以下略) > > -------- > 丸山直昌@統計数理研究所 > _______________________________________________ > freebsd-users-jp@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp > To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org" > -- 青木 知明 [Tomoaki AOKI] <junch...@dec.sakura.ne.jp> _______________________________________________ freebsd-users-jp@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"