- 182 名前:login:Penguin mailto:sage [2007/09/17(月) 22:20:42 ID:nqz563FT]
- >>180
なるほど、英数字だけの場合はASCIIなんですね・・。 では、 a.txt(ASCIIですよね) を convmv -f ascii -t utf-8 a.txt --notest なんて有り得ないわけですよねぇ。 BINARYって判別されたのは 例えば vncviewer.exe とかのファイルです。バイナリファイルだし。。。 この結果を見て私は vncviewer.exe と言うファイル名自体は英数字のみなので ASCIIかと 思いますが、しかしvncviewer.exeのファイルの"中身"はBINARYなので、nkf ってのは ファイルの中身を見てコードを判別して返してくれるんだなぁと思った次第です。 (nkf がファイル"名"を見て返してくれるのなら vncviewer.exeはBINARYではなくASCIIで かえって来ないといけないからです。) でも nkf に対して何を入力するかによって 返してくるものは違うんですね。ファイル"名"をnkfに入力すればファイル"名"のコードが帰ってくるし ファイルの内容を入力すればファイルの内容のコードが帰ってくると。 >>181 度々具体的なスクリプトを示して頂いて本当にありがとうございます。 しかしですね・・・よくエラーを見てみると no such file or directory が帰ってきてるんですよね・・・。 つまり find /data をした結果、文字化けしたファイル名が返ってくるわけじゃないですか。 その文字化けしたファイル名の場合、そのファイルにはアクセスする事が出来ないですよね。 文字化けしたファイルに唯一アクセスする手段があるとすれば、それは "*" を使う事ですよね。 だから for や while で1ファイルずつ処理するっていう最初のアイディア自体がそもそも不可能 だったと言う事に今更ながら気づきました。ほんと文字化け問題って大変ですね・・。 "*"を使うと言っても find /data/* だと結局1ファイルずつ文字化けしたものが帰ってくるので ダメっぽいです。 convmv に 直接 * を渡す必要があるみたいで、そうすると混在している場合に 全く処理をしてくれなくて結局ダメと。。。参ったなぁ・・・OTL。 それと1つシェルスクリプトスレなのでお聞きしておきたいのですが File=$( nkf -g <<< "$TARG" ) ←これなんですが、 <<< って何ですか?普通 < か << ですよね。 <<<は初めて
|

|