shell读取某个字段值? 怎么读

[复制链接]
查看11 | 回复2 | 2011-9-19 12:30:49 | 显示全部楼层 |阅读模式
?xmlversion=\'1.0\'encoding=\'UTF-8\'?S:Envelopexmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\"S:Bodyns2:CLI_Outputxmlns=\"http://xml.netbeans.org/schema/CQ_7_1_CLI\"xmlns:ns2=\"http://xml.netbeans.org/schema/CLI_Output\"ns2:lineRecord:1/ns2:linens2:line/ns2:linens2:line--------/ns2:linens2:linevalue:Open/ns2:linens2:linereq:READ_ONLY/ns2:linens2:linetype:STRING/ns2:linens2:linename:State/ns2:linens2:line/ns2:line/ns2:CLI_Output/S:Body/S:Envelope该xml文件中没有换行符,是记事本文件,只有一行,想要用shell读取value字段的值,也即Open,该怎么办?value字段的值可能会变化,需要读取value字段的值。
回复

使用道具 举报

千问 | 2011-9-19 12:30:49 | 显示全部楼层
以/ns2:linens2:line作为分隔符,读取value:Open再以冒号:作为分隔符,读取Open
回复

使用道具 举报

千问 | 2011-9-19 12:30:49 | 显示全部楼层
#!/bin/bash#读取open#因为value:Open的字符串不一致,使用楼上说用的ns2:line需要三次awk#我采用:作为分隔符,两次到位#假设你这个文件的名字叫filenameawk-F:\'{print$18}\'filename|awk-F\"\"\'{print$1}\'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行