例如过滤HTML文件, 当用grep内容的一部分,如果每一行是在这种模式:如何从一个字符串在bash
<a href="xxxxxx" style="xxxx"><i>some text</i></a>
我怎么能得到的href
内容,我如何获得<i>
和</i>
之间的文本?
例如过滤HTML文件, 当用grep内容的一部分,如果每一行是在这种模式:如何从一个字符串在bash
<a href="xxxxxx" style="xxxx"><i>some text</i></a>
我怎么能得到的href
内容,我如何获得<i>
和</i>
之间的文本?
cat file |切-f2 -d \”
FYI:几乎所有其他HTML /正则表达式#2后解释了为什么使用比HTML解析的任何其他是一个坏主意,从HTML获取值,您可能想读一些这些的。 。This one for example.
如果href是始终空间在分离的第二令牌,国家统计局则u可以尝试
的grep的“href”文件|剪下-d''-f2 | cut -d'='-f2
下面介绍如何使用xmlstarlet(任选整洁)做它:
# extract content of href and <i>...</i>
echo '<a href="xxxxxx" style="xxxx"><i>some text</i></a>' |
xmlstarlet sel -T -t -m "//a" -v @href -n -v i -n
# using tidy & xmlstarlet
echo '<a href="xxxxxx" style="xxxx"><i>some text</i></a>' |
tidy -q -c -wrap 0 -numeric -asxml -utf8 --merge-divs yes --merge-spans yes 2>/dev/null |
xmlstarlet sel -N x="http://www.w3.org/1999/xhtml" -T -t -m "//x:a" -v @href -n -v . -n
使用xmlstarlet http://stackoverflow.com/questions/1732348/regex-match-open-tags-except- xhtml-self-contained-tags/1732454#1732454 – 2010-12-21 05:15:18
@Ignacio Vazquez-Abrams:xmlstarlet是否也支持HTML? – Gumbo 2010-12-21 05:32:27
@Gumbo:你必须首先通过HTML Tidy推它,但这不是太大的交易。这更多的是不存在的选项,而不是底层的库无法处理它。 – 2010-12-21 05:33:31