簡體   English   中英

分割一個html文件,僅在ruby中保留定界符上方的部分

[英]split an html file keeping only the part above a delimiter in ruby

我有一個html文件,其中包含充當分隔符的字符串,我想-分割該文件並僅保留分隔符上方的部分-關閉新文件中所有打開的html標簽。

用ruby(或unix)做到這一點並保持效率的最佳方法是什么。

在此先感謝Nicolas

如果我正確理解了您的問題,那么您想要做的就是將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

讓我知道這是否是您所需要的。

對於Unix版本,您可以使用perl一線式,如下所示:

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

這可以通過使用前哨變量$ delim來檢測是否已看到分隔符。 然后將打印定界符之后的所有行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM