【发布时间】:2011-10-16 05:01:58
【问题描述】:
我可能遗漏了一些非常明显的东西,但我有一个 xml 文件,我需要使用 grep 来查看它是否包含以下内容:
<phone>null</phone>
或者
<phone></phone>
在任何情况下,以及任何额外的空格(标签之间)。
所以,我的非工作解决方案是这样的:
grep -i "\<phone\>\s*(null)?\s*\</phone\>" ./myfile.xml
但是返回空(即使我使用的文件有这个节点)。 我忽略了什么?
TIA
【问题讨论】:
-
如果您输入的是您所拥有的,那么您的正则表达式应该可以工作。我用 grep 测试了你的正则表达式,它在两种情况下都匹配。
-
是的...我必须添加 -P,我的服务器不能默认配置为使用 perl regEx...对此了解不足,无法进一步推测。