我有一个html文件,其中包含一个充当分隔符的字符串,我想 - 拆分此文件并仅保留分隔符上方的部分 - 关闭新文件中所有打开的html标签。
使用ruby(或unix)执行此操作的最佳方法是什么,并使其保持高效。
提前致谢 尼古拉斯
答案 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来检测是否已经看到分隔符。然后将打印分隔符后面的所有行。