2012-06-27 38 views
6

Ben wget aracını kullanarak bir web sitesinin içeriğini indirmek için çalışıyorum. Bazı dosya türlerini reddetmek için -R seçeneğini kullandım. ama indirmek istemediğim başka dosyalar da var. Bu dosyalar şu şekilde adlandırılmıştır ve uzantıları yoktur. örneğinDosyaları reddetmek için wget'te düzenli ifadeler nasıl kullanılır?

string-ID 

:

Bu dosyaları (isimleri belirtilen dize ile başlayan dosyaları) indirmek için değil wget nasıl söyleyebilir
newsbrief-02 

?

cevap

4

Sen wget -R anahtarında bir ifade belirtin değil, ancak (bir kabuk dosya şablon gibi) bir şablon belirtebilirsiniz. Ayrıca ? ve sembol sınıfları [] kullanabilirsiniz

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

: gibi

cevap arar. Daha fazla bilgi için

info wget görüyoruz.

18

yana (görünüşte) V1.14 wget düzenli ifadeler kabul eder: --reject-regex ve --accept-regex (libpcre desteği ile derlenmiş varsayılan olarak --regex-type posix ile pcre ayarlanabilir).

Dikkat edin, 'u yalnızca wget numaralı çağrıya göre kullanabilirsiniz. Birkaç regex ile örneğin

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

Teşekkür: yani, birkaç regex üzerinde seçmek istiyorsanız tek regex | kullanmak zorunda. – GregHNZ

+0

reddetmek-regex '.' veya benzeri şeylerle çalışıyor mu' * ', bu genişletilmiş ifadenin veya PCRE regex olduğunu regex ne tür? – CMCDragonkai

+0

@CMCDragonkai Sorunuzun ikinci kısmı cevabımda zaten ele alınmıştır. '.' ve' * 'ile çalışır, ör. 'Wget -r --reject-regex "* filanca *.." Http: // example.com' kaybolacak' http: // example.com/filanca/'. –