1

wget を使用していくつかのファイルをダウンロードしようとしています。すべてのリンクを.txtファイルに保存しました。コマンドでそのファイルを読み込むとwget -i <filename>.txt、ダウンロードが開始されますが、file name is too long. この後、ダウンロード プロセスは終了します。

ファイル名が許容範囲内にとどまり、ダウンロードが続行されるように、ファイルの名前を変更するにはどうすればよいですか。

次のようなものはありますか:-wget -O <target filename> <URL>ファイルからダウンロードしたときにファイルの名前を変更するには.txt?

4

2 に答える 2

2

この機能が wget に存在するとは思えません。おそらく、Perl やシェル スクリプトなどでファイルをループする必要があります。

以下の例は、ubuntuforums.orgの例を変更したものです。マイナーな変更を加えることで、必要に応じて出力ファイル名に対応させることができます。ファイルの長さを最初の 50 文字に制限するようになりました。

#!/bin/bash

while read -r link
  do
  output=`echo $link | cut -c 1-50`
  wget "$link" -O "$output"
done < ./links.txt
于 2013-11-10T14:39:06.120 に答える
1

ヘルパーとしての bash の使用

for line in `cat input.txt`; do wget $line; done

出力名を自分で決定する必要があります。そうしないと、URL にあるファイル名 (例: blah.html) または index.html (URL がスラッシュで終わる場合) にダウンロードされます。

すべてのファイルを 1 つのモノリシック ファイルにダンプする

wgetには、 を使用する別のオプションがあります--output-document=file。ダウンロードしたすべてのファイルを 1 つのファイルに連結します。

于 2013-11-10T14:43:13.863 に答える