我有一个sed命令,我想在一个巨大的,可怕的,丑陋的HTML文件上创建一个Microsoft Word文档。所有应该做的是去除串在sed中匹配任何字符(包括换行符)
style='text-align:center; color:blue;
exampleStyle:exampleValue'
sed命令,我想修改的任何实例是
sed "s/ style='[^']*'//" fileA > fileB
它的伟大工程,但每当有内部的新行匹配文本,它不匹配。有没有sed的修饰符,或者我可以做什么来强制匹配任何字符,包括换行符?
我明白在XML和HTML中,正则表达式很糟糕,但是在这种情况下,字符串模式是格式良好的,因为样式属性总是以单引号开头并以单引号结尾。所以,如果我能解决换行问题,那么只需一条命令即可将HTML大小缩减50%以上。
最后,事实证明,SinanÜnür的perl脚本效果最好。它几乎是瞬间的,它将文件大小从2.3 MB降低到了850k。好醇'Perl ...
sed是基于行的。这是这里的主要停止点。如果你使用/ g正则表达式修饰符,可能会有一个命令行选项让它读取文件作为一个'行',但我怀疑它(内存问题等) – 2009-07-22 12:39:10
没有选择(我知道)用于单个文件读取文件。我会为此使用Perl。 – Dana 2009-07-22 12:42:07