Comment utiliser les expressions régulières dans wget pour le rejet de fichiers?
Je suis en train de télécharger le contenu d'un site web à l'aide de wget outil. J'ai utilisé l'option-R pour rejeter certains types de fichiers. mais il y a d'autres fichiers que je ne veux pas de télécharger. Ces fichiers sont nommés comme suit, et n'ont pas d'extensions.
string-ID
par exemple:
newsbrief-02
Comment je peux dire à wget de ne pas télécharger ces fichiers (les fichiers qui leurs noms commencent par chaîne spécifiée)?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas spécifier une expression régulière dans les
wget -R
clé, mais vous pouvez spécifier un modèle (comme le modèle de fichier dans un shell).La réponse ressemble:
Vous pouvez également utiliser
?
et le symbole des classes[]
.Pour plus d'informations, voir info wget.
Depuis (apparemment) v1.14
wget
accepte les expressions régulières :--reject-regex
et--accept-regex
(avec--regex-type posix
par défaut, peuvent être définis pourpcre
si compilé aveclibpcre
de soutien).Attention, il semble que vous pouvez utiliser
--reject-regex
qu'une seule fois parwget
appel. Qui est, vous devez utiliser|
dans une seule regex si vous souhaitez sélectionner plusieurs regex :.
ou*
, ce genre de regex est-il, étendu regex ou regex PCRE?.
et*
, par exemplewget -r --reject-regex ".*foobar.*" http://example.com
jetezhttp://example.com/foobar/
.--spider
, et il a fallu que j'échapper[]
, ce qui signifie que[]
est aussi spécial. J'ai demandé sur quel type de regex, c'est parce que GNU grep prend également en charge différents types de regex, comme la prolongation des regex et de regex pcre.