html – 匹配sed中的任何字符(包括换行符)

html – 匹配sed中的任何字符(包括换行符),第1张

概述我有一个sed命令,我想在一个巨大的,可怕的,丑陋的HTML文件上运行,该文件是从Microsoft Word文档创建的.它应该做的只是删除字符串的任何实例 style='text-align:center; color:blue;exampleStyle:exampleValue' 我试图修改的sed命令是 sed "s/ style='[^']*'//" fileA > fileB 它工作得 我有一个sed命令,我想在一个巨大的,可怕的,丑陋的@R_404_6832@文件上运行,该文件是从Microsoft Word文档创建的.它应该做的只是删除字符串的任何实例
style='text-align:center; color:blue;exampleStyle:exampleValue'

我试图修改的sed命令是

sed "s/ style='[^']*'//" fileA > fileB

它工作得很好,除了在匹配文本中有新行时,它不匹配.是否有sed的修饰符,或者我可以做些什么来强制匹配任何字符,包括换行符?

我知道正则表达式在XML和@R_404_6832@上很糟糕,等等等等,但在这种情况下,字符串模式的格式很好,因为样式属性总是以单引号开头并以单引号结束.因此,如果我能解决换行问题,只需用一个命令就可以将@R_404_6832@的大小减少50%以上.

最后,事实证明,SinanÜnür的perl脚本效果最好.它几乎是瞬间的,它将文件大小从2.3 MB减少到850k.好的’Perl …

解决方法 sed逐行遍历输入文件,这意味着,据我所知,你想要的东西在sed中是不可能的.

您可以使用以下Perl脚本(未经测试):

#!/usr/bin/perluse strict;use warnings;{    local $/; # slurp mode    my $@R_404_6832@ = <>;    $@R_404_6832@ =~ s/ style='[^']*'//g;    print $@R_404_6832@;}__END__

一个班轮将是:

$perl -e 'local $/; $_ = <>; s/ style=7[^7]*7//g; print' fileA > fileB
总结

以上是内存溢出为你收集整理的html – 匹配sed中的任何字符(包括换行符)全部内容,希望文章能够帮你解决html – 匹配sed中的任何字符(包括换行符)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104354.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存