尝试解析一些mysql导出文件中的垃圾邮件注入,并且由于某种原因这不起作用:
sed 's|(<a href="http://[^"]*">[^<]*Buy[^<]*</a>)||g'
其中,imo应匹配并删除:
<a href="http://basicpills.com/">Buy Generic Drugs Without Prescription</a>
但由于某种原因不是。我可以在Perl中做到这一点没有问题,因为它支持非贪婪的比赛,但它是如此缓慢,因为我可能不得不做7或8次传球来获得所有不同的排列,如果我能得到它会好得多而是改为工作。
答案 0 :(得分:2)
不要忘记-r支持扩展正则表达式:sed -r 's|(<a href="http://[^"]*">[^<]*Buy[^<]*</a>)||g'
或者只删除无用的括号(\(
和\)
没有-r
)
您确定perl -p -e 's|<a href="http://[^"]*">[^<]*Buy[^<]*</a>||g'
真的很慢。