【发布时间】:2017-07-21 11:34:14
【问题描述】:
我正在尝试选择 html 文件中两个标记之间的行。我尝试过使用 sed 和 awk,但我认为我转义某些字符的方式存在问题。我见过一些类似的问题和答案,但给出的例子很简单,没有特殊字符。我认为我的逃跑是问题所在。我需要之间的界限
<div class="bread crumb">
和
</div>
块内没有其他div,块内有多行。
我是否需要如下转义字符<、> 和??
sed -n -e '/^\<div class=\"bread crumb\"\>$/,/^\<\/div\>$/{ /^\<div class=\"bread crumb\">$/d; /^\<\/div>$/d; p; }'
我的 awk 尝试:
awk '/\<div class=\"bread crumb\"\>/{flag=1;next}/\<\/div\>/{flag=0}flag'
【问题讨论】:
-
虽然
sed和awk可能能够完成某些输入的工作,但使用非HTML 感知工具来解析HTML 被认为是不好的做法。你应该看看xpath,这是一个解析HTML/XML文件的专用工具 -
发布初始 html 片段和预期结果