在双括号中提取字符串

时间:2016-04-05 22:20:58

标签: linux unix

如何在双括号中提取字符串,如下所示

<html>
    <head>
    <title>[[title]]</title>
    </head>
    <body>
        Hi! You are in the [[environment]] environment!
    </body>
    </html>

1 个答案:

答案 0 :(得分:0)

解析XML应该使用适当的XML解析工具完成,bash默认情况下不会提供。但由于输入很简单,因此有一些有效的选择。

使用grep:

echo $HTML | grep -oPm1 "(?<=<title>)[^<]+"

使用python(需要'lxml'模块安装):

echo $(echo $HTML | python -c "import sys,lxml.html; tree=lxml.html.fromstring(sys.stdin.read()); r=tree.xpath('//title/text()'); print(r[0])")