wget の使い方で質問です。

ダウンロードしたいファイル名に日本語が含まれていると、~%80%81~のようにエンコードされた文字列をそのままファイル名としてダウンロードされてしまいます。IE からダウンロードする分には問題ないのですが、wget でデコードされたファイル名で保存されるようにするにはどうしたらいいでしょうか?
wget の環境は Debian-etch で ja_JP.UTF-8 です。

回答の条件
  • 1人2回まで
  • 登録:2007/11/05 21:33:22
  • 終了:2007/11/06 22:07:50

ベストアンサー

id:toohigh No.1

toohigh回答回数291ベストアンサー獲得回数372007/11/06 01:11:39

ポイント70pt

--restrict-file-names=nocontrol

というオプションを指定するといかがでしょうか。

手元の ja_JP.EUC な環境では、上記の追加でサーバ上での EUC,UTF-8 なファイル名をそのまま手元に再現することができているようです。(ls なり ls | nkf -We なりで日本語ファイル名が見える)

id:kohi

できました!!ありがとうございます!!!

2007/11/06 21:30:27

その他の回答(2件)

id:toohigh No.1

toohigh回答回数291ベストアンサー獲得回数372007/11/06 01:11:39ここでベストアンサー

ポイント70pt

--restrict-file-names=nocontrol

というオプションを指定するといかがでしょうか。

手元の ja_JP.EUC な環境では、上記の追加でサーバ上での EUC,UTF-8 なファイル名をそのまま手元に再現することができているようです。(ls なり ls | nkf -We なりで日本語ファイル名が見える)

id:kohi

できました!!ありがとうございます!!!

2007/11/06 21:30:27
id:y-kawaz No.2

y-kawaz回答回数1421ベストアンサー獲得回数2262007/11/06 02:22:09

ポイント10pt

wgetした後に nkf などを使ってリネームしてやるのはどうでしょうか?


URLエンコードされている文字コードを目視で確認して nkf の引数を確かめる。

echo %93%fa%96%7b%8c%ea%83t%83%40%83C%83%8b%96%bc_SJIS.zip | nkf --url-input -S -w
echo %C6%FC%CB%DC%B8%EC%A5%D5%A5%A1%A5%A4%A5%EB%CC%BE_EUC.zip | nkf --url-input -E -w
echo %e6%97%a5%e6%9c%ac%e8%aa%9e%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e5%90%8d_UTF8.zip | nkf --url-input -W -w

元がSJISでURLエンコードされたファイル名の場合は以下のようにしてリネームします。

f1='%93%fa%96%7b%8c%ea%83t%83%40%83C%83%8b%96%bc_SJIS.zip'
f2=`echo $f1 | nkf --url-input -S -w`
mv "$f1" "f2"
id:kohi

上記方法よりちょっと手間がかかりますね。

試してませんが、ダウンロード済みの場合にはいいかもです。

2007/11/06 22:04:05
id:hamster078 No.3

hamster078回答回数587ベストアンサー獲得回数42007/11/06 08:05:25

id:kohi

ここはチェック済みでしたが、めんどくさいのでスルーでした。

2007/11/06 22:04:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません