разбить HTML-файл, оставив только часть над разделителем в рубине - PullRequest
0 голосов
/ 22 марта 2011

У меня есть HTML-файл, который содержит строку, выступающую в качестве разделителя, и я хотел бы - разбить этот файл и оставить только ту часть, которая находится над разделителем - закрыть все открытые HTML-теги в новом файле.

Какой лучший способ сделать это с ruby ​​(или unix) и сохранить его эффективность.

Спасибо заранее Nicolas

Ответы [ 2 ]

0 голосов
/ 22 марта 2011

Для версии Unix вы можете использовать perl one-liner следующим образом:

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

Это работает, используя переменную дозорного $ delim, чтобы определить, был ли разделитель виден. Все строки после разделителя будут напечатаны.

0 голосов
/ 22 марта 2011

Если я правильно понимаю ваш вопрос, вам нужно сохранить часть 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

Дайте мне знать, если это то, что вам нужно.

...