我正在编写一个 Linux shell 脚本,以使用 grep 在 xml 文件中查找信息。我需要的信息是不带标签的用户名wipis_dxu。我不允许使用 xgrep 或其他工具。
<Parameter displayName="Server" id="Server">
<value>dxstg.target_domain</value>
</Parameter>
<Parameter isRequired="true" displayName="User name" id="Username">
<value>wipis_dxu</value>
</Parameter>
<Parameter isRequired="true" displayName="Password" id="Password">
<value>wovon_man_nicht_reden_kann_darueber_muss_mann_schweigen</value>
</Parameter>
请您参考如下方法:
$ sed -nr '/Username/{n;s#.*>(.*)<.*#\1#p}' file
wipis_dxu
简要说明,
-
/Username/
: 查找用户名 -
n
:读取下一行输入 -
s#.*>(.*)<.*#\1#p
:提取> ... <
之间的字符串