wget の使い方で質問です。

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

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/11/06 22:07:50
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:toohigh No.1

回答回数291ベストアンサー獲得回数37

ポイント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

回答回数291ベストアンサー獲得回数37ここでベストアンサー

ポイント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

回答回数1422ベストアンサー獲得回数226

ポイント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

回答回数587ベストアンサー獲得回数4

id:kohi

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

2007/11/06 22:04:57

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

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

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

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

回答リクエストを送信したユーザーはいません