首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件中搜索特定值

从文件中搜索特定值
EN

Ask Ubuntu用户
提问于 2018-02-06 22:27:36
回答 2查看 114关注 0票数 -1

我有一个xml文件,内容如下:如何只打印value='hard@insurance.com',它是行的,使用Ubuntu中的linux命令拥有symbolicName="ROB_EMAIL_ALERT"

代码语言:javascript
复制
<entries xmi:id="VariableSubstitutionEntry_1468437285392" symbolicName="DB2UNIVERSAL_JDBC_DRIVER_NATIVEPATH" value="/cidba/udb/V10.5/java"/>
<entries xmi:id="VariableSubstitutionEntry_1468437302240" symbolicName="DB2UNIVERSAL_JDBC_DRIVER_PATH" value="/cidba/udb/V10.5/java"/>
<entries xmi:id="VariableSubstitutionEntry_1468437322544" symbolicName="DB2_JDBC_DRIVER_PATH" value="/cidba/udb/V10.5/java"/>
<entries xmi:id="VariableSubstitutionEntry_1503425349323" symbolicName="ROB_EMAIL_ALERT" value="hadr@insurance.com"/>
EN

回答 2

Ask Ubuntu用户

发布于 2018-02-07 01:00:40

参见:https://stackoverflow.com/questions/25508512/shellscript-read-xml-attribute-value

因此,您可以运行以下命令:

代码语言:javascript
复制
sed -n '/<property symbolicName="ROB_EMAIL_ALERT"/s/.*value="\(.*\)"[^\n]*/\1/p' /path/to/file
票数 1
EN

Ask Ubuntu用户

发布于 2018-02-07 14:27:13

我会这样做:

代码语言:javascript
复制
sed -nE '/symbolicName="ROB_EMAIL_ALERT"/s/.*(value="[^"]*").*/\1/p'

这个sed命令搜索包含symbolicName="ROB_EMAIL_ALERT"的每一行,并且只打印其中的value="xyz"部分。

示例运行

我在这里举了你的例子,所以所有的排字都在你身上。;)

代码语言:javascript
复制
$ sed -nE '/symbolicName="ROB_EMAIL_ALERT"/s/.*(value="[^"]*").*/\1/p' <test.xml 
value="hadr@insurance.com"
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1003703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档