- 181 名前:login:Penguin mailto:sage [2007/09/17(月) 21:22:34 ID:rlyHM/pf]
- >>179
ああ、そういや ASCII を忘れてた。w 解説は >>180 を見てもらうとして、 それを踏まえて >>174 を改良すると、こんな感じかな。 後は自分で調べてみな。 find /data | while read TARG ; do File=$( nkf -g <<< "$TARG" ) case "$File" in Shift_JIS*) Code='sjis' ;; EUC-JP*) Code='euc-jp' ;; ISO-2022-JP*) Code='iso-2022-jp' ;; ASCII*|UTF-8*) echo "$TARG: $File"; continue ;; *) echo "$TARG: $File: Not supported format."; continue ;; esac echo "$File: Convert from $Code to UTF-8." ## お好みで convmv -f "$Code" -t utf-8 "$TARG" --notest done >>180 > 「a.txt」と「(UTF-8な)あ.txt」と「(EUC-JPな)い.txt」が混在してると 判定はファイルごとに行うからこれで「BINARY」にはならないはず。 「(UTF-8)あ(EUC-JP)い.txt」とか、複数の文字コードで構成された ファイル名だと誤判定と言うか、期待通りにはならないと思う。 こういうのもきちんと判定したいのなら ack がお勧め。 こんなファイル名に出くわす事はまずないだろうけどな。w
|

|