首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找到包含字符串“黑暗”的xml文件和注释行?

如何找到包含字符串“黑暗”的xml文件和注释行?
EN

Stack Overflow用户
提问于 2018-05-08 14:26:14
回答 2查看 29关注 0票数 1
代码语言:javascript
运行
复制
<hello>
<world>dark</world>
</hello>

到目前为止我已经试过..。

代码语言:javascript
运行
复制
find . -name "*.xml" -print0 | while read -d $'\0' file; do awk '{print "<!--"$0"-->"}' "$file"; done 

..。但失败了。

但对于一个文件来说.

代码语言:javascript
运行
复制
awk '{print "<!--"$0"-->"}' "$file"

..。效果很好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-08 14:42:12

要覆盖“查找包含字符串‘深色’的xml文件和注释行”的条件,确切地说:

find + grep + sed解决方案:

代码语言:javascript
运行
复制
find . -type f -name "*.xml" -exec sh -c \
'if grep -wq "dark" "$1"; then sed -i "s/.*dark.*/<!--&-->/" "$1"; fi' _ {} \;
票数 1
EN

Stack Overflow用户

发布于 2018-05-08 14:39:22

最好不要使用awk来解析XML文件。相反,请使用XML解析器。

下面是一个使用xmllint的示例

代码语言:javascript
运行
复制
find -name "*.xml" -exec bash -c 'xmllint --xpath "//*/world/text()" $1 >/dev/null 2>&1 && echo $1' _ {} \;

xpath表达式查找嵌套在任何其他标记中的标记<world>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50236013

复制
相关文章

相似问题

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