【发布时间】:2019-09-20 12:49:29
【问题描述】:
我必须使用 awk 或 sed 或者如果它是其他一些工具,我也可以获取两个“关键”词之间的值。我试过下面的代码,我没有得到想要的输出。
echo "<response status = 'success'><result><key>LUFRPhdfhhfufhroghyuefbFJyaEkwamhjMnRxVW9ZWT1854165442156744ZiZlljbjlHSlBjNXgwMzVJcz0=</key></result></response>" | awk -v FS="key" 'NF>1{print $2}'
我期望的输出是:
LUFRPhdfhhfufhroghyuefbFJyaEkwamhjMnRxVW9ZWT1854165442156744ZiZlljbjlHSlBjNXgwMzVJcz0=
【问题讨论】:
-
看起来像 XML,如果是这样,您最好使用 XML 解析器。无论如何使用 GNU sed:
sed -En 's@.*<key>(.*?)</key>.*@\1@p'