我正在编写一个 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 :提取 > ... < 之间的字符串


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!