我有大约 400'000 个文件需要替换一些文本。
我尝试了以下 Perl 脚本:
@files = <*.html>;
foreach $file (@files) {
`perl -0777 -i -pe 's{<div[^>]+?id="user-info"[^>]*>.*?</div>}{}gsmi;' $file`;
`perl -0777 -i -pe 's{<div[^>]+?class="generic"[^>]*>[^\s]*<small>[^\s]*Author.*?</div>.*?</div>.*?</div>.*?</div>.*?</div>}{}gsmi;' $file`;
`perl -0777 -i -pe 's{<script[^>]+?src="javascript.*?"[^>]*>.*?</script>}{}gsmi;' $file`;
`perl -p -i -e 's/.css.html/.css/g;' $file`;
}
我没有深入的 Perl 知识,但脚本运行速度太慢(每天只更新大约 180 个文件)。
有没有办法加快速度?
先感谢您!
PS:当我在较少数量的文件上测试它时,我注意到性能要好得多......