web-dev-qa-db-ja.com

ファイルを拒否するためにwgetで正規表現を使用するにはどうすればよいですか?

Wgetツールを使用してWebサイトのコンテンツをダウンロードしようとしています。 -Rオプションを使用して、一部のファイルタイプを拒否しました。しかし、私がダウンロードしたくない他のいくつかのファイルがあります。これらのファイルの名前は次のとおりで、拡張子はありません。

string-ID

例えば:

newsbrief-02

これらのファイル(名前が指定された文字列で始まるファイル)をダウンロードしないようにwgetに指示するにはどうすればよいですか?

17
Hakim

wget -Rキーで正規表現を指定することはできませんが、テンプレート(シェルのファイルテンプレートなど)を指定することはできます。

答えは次のようになります。

$ wget -R 'newsbrief-*' ...

?およびシンボルクラス[]を使用することもできます。

詳細については、 info wget を参照してください。

8
Igor Chubin

(明らかに)v1.14 wgetは正規表現を受け入れるため、--reject-regexおよび--accept-regex(デフォルトでは--regex-type posixを使用、コンパイルするとpcreに設定できます) libpcreサポート付き)。

wget呼び出しごとに1回だけ--reject-regexを使用できるように見えることに注意してください。つまり、複数の正規表現で選択する場合は、単一の正規表現で|を使用する必要があります。

wget --reject-regex 'expr1|expr2|…' http://example.com