我试图删除大量奇怪的文件名,例如index.html?replytocom=653
,index.html?replytocom=667
等。
我使用下面的代码:
wget -k -m -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,?,= -t 1 http://www.website.com/
并尝试了
wget -k -m -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,?,=,replytocom -t 1 http://www.website.com/
但没有运气..
答案 0 :(得分:1)
在这种情况下,无法使用rejlist
,因为 documentation for wget说:
另请注意,查询字符串(以问号开头的URL末尾的字符串(`?`)不包含在接受/拒绝规则的文件名中,即使这些字符串实际上会影响所选的名称预期Wget的未来版本将提供允许匹配查询字符串的选项。
因此,您需要使用--reject-regex
参数。
wget --reject-regex '(.*)\?(.*)' http://example.com
请注意,每--reject-regex
次来电,您只能使用wget
一次。也就是说,如果要在多个正则表达式中选择,则必须在单个正则表达式中使用|
:
wget --reject-regex 'expr1|expr2|…' http://example.com
所以回答你的问题,我猜测解决方案会是这样的:
wget --reject-regex '(.*)replytocom(.*)' (...)