(Xubuntu 16.04.2 x86_64) 我试图解析一个html文件并从中获取值。我需要在这个
之间提取的所有代码<tr style="text-align: center; background:#FFF">
和这个
</td></tr>
问题是,我是通过一个循环来运行它来抓取这些部分中的800个,但是第一次运行它会正确找到第一个字符串,但它使用文件中的最后一个匹配而不是下一个第一个字符串。
我将每个查找输出到一个文本文件中,第一个结合了我不需要的每个条目,我需要为每个条目提供单独的文件。
不要使用那个复杂的字符串,而是说我有这个html
<div>
Index
Index
Index
</div>
<div>
Index
Index
Index
</div>
<div>
Index
Index
Index
</div>
我正在使用此代码
sed 1,/<div>/,/<\/div>/!d' sourcefile > output
但是该命令会给出整个文件,而不是选择</div>.
如果可能的话,我宁愿使用sed而不是awk,grep或perl。
答案 0 :(得分:0)
如果你坚持$( document ).ready(function() {
if (document.location.hash === "#showAlert")
$(".alert.is-hidden").removeClass("is-hidden");
}
,这应该可以解决问题(如果我理解你的问题):
sed
由于POSIX ERE(扩展正则表达式)总是贪婪,因此地址范围sed -n '/<div>/,/<\/div>/ { /<\/*div>/d; p }' file
将始终捕获连续的/<div>/,/<\/div>/
s。我们在这些块上运行的命令只删除(外部)div
和<div>
;打印出其他所有内容。
输入</div>
:
file
输出是:
a
<div>
1
</div>
b
<div>
2
</div>
c
<div>
3
</div>
d