我在尝试从html文件中提取一个单词时遇到了很多问题。html文件中的行如下所示:
<span id="result">WORD</span>我正试着把这个词说出来,但我弄不明白。到目前为止,我得到了:
grep 'span id="result"' FILE 这就是我的底线。我也尝试过:
sed -n '/<span id="result">/,/<\/span>/p' FILE这也不管用。我知道这可能是一个非常简单的问题,但我才刚刚开始,所以我真的需要一些帮助。
发布于 2013-12-03 05:59:54
不要使用正则表达式来解析html。
使用html解析器。
我的Xidel对此有最短的语法:
xidel FILE -e "#result"发布于 2013-12-03 15:00:26
这是awk的任务
我猜你在相同的文件中还有其他行,所以搜索span id是必须的。
echo "<span id="result">WORD</span>" | awk -F"[<>]" '/span id/ {print $3}'
WORD发布于 2013-12-03 18:57:11
你可以试试
awk -f ext.awk input.html其中input.html是您的输入html文件,而ext.awk是
{
line=line $0 RS
}
END {
match (line,/<span id="result">([^<]*)<\/span>/,a)
print a[1]
}这将跨换行符提取内容。
https://stackoverflow.com/questions/20337936
复制相似问题