拆分一个html文件,只保留ruby中分隔符上方的部分

时间:2011-03-22 10:23:45

标签: ruby regex file split

我有一个html文件,其中包含一个充当分隔符的字符串,我想 - 拆分此文件并仅保留分隔符上方的部分 - 关闭新文件中所有打开的html标签。

使用ruby(或unix)执行此操作的最佳方法是什么,并使其保持高效。

提前致谢 尼古拉斯

2 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,您要做的是将分隔符前面的HTML文件部分存储在字符串中,例如:

<html>
  <head>
    <title>Blah</title>
  </head>
  <body>
     <p>Some stuff</p>
        <!-- Delimiter --!>
  </body>
</html>

你想要<!-- Delimiter --!>

之前的所有内容

在这种情况下你可能会这样做:

str = "" 
File.open("the_file.html","r"){|f|str << f.read} #If you need to read the html out of a file
part_to_keep = str.split("<!-- Delimiter --!>").first

请告诉我这是否是你需要的。

答案 1 :(得分:0)

对于Unix版本,您可以使用perl one-liner,如下所示:

perl -n -e 'print if $delim;
            $delim=1 if ($delim or /<!-- Delimeter --!>/);' html_file >output

这可以通过使用sentinel变量$ delim来检测是否已经看到分隔符。然后将打印分隔符后面的所有行。