Linux 需要匹配wsdl上的精确句子-grep/awk/sed
很抱歉,我将尝试更好地解释: 我必须编写一个脚本,执行以下操作->对wsdl进行卷曲或wget,并找到以下句子:Linux 需要匹配wsdl上的精确句子-grep/awk/sed,linux,bash,awk,sed,grep,Linux,Bash,Awk,Sed,Grep,很抱歉,我将尝试更好地解释: 我必须编写一个脚本,执行以下操作->对wsdl进行卷曲或wget,并找到以下句子: 如果句子出现在wsdl上,则返回一个布尔值-因此我考虑使用grep,但是,它没有像我预期的那样工作,因为它将检查wsdl上是否有任何句子。范例 `PcspI01Service%3Fwsdl | grep -F -f ex.bko **<import namespace="org/soap/encoding/" /> </schema&g
如果句子出现在wsdl上,则返回一个布尔值-因此我考虑使用grep,但是,它没有像我预期的那样工作,因为它将检查wsdl上是否有任何句子。范例
`PcspI01Service%3Fwsdl | grep -F -f ex.bko
**<import namespace="org/soap/encoding/" />
</schema>
<import namespace="org/soap/encoding/" />
</schema>**
<schema targetNamespace="rg/2001/XMLSchema">
<import namespace="soap/encoding/" />
<simpleType name="ObjectNameType">
<simpleContent>
<extension base="xsd:string" />
</simpleContent>
</simpleType>
</schema>`
`PcspI01Service%3Fwsdl | grep-F-F ex.bko
**
**
`
在这个例子中,它向我展示了
`<import namespace="org/soap/encoding/" />
</schema>`
`
`
文件中存在,但这对我没有帮助,我需要匹配所有行并按照它们的顺序进行匹配
现在更清楚了吗
提前感谢大家 您是说要在文件中查找多行字符串吗?这将是(使用GNU awk来处理多字符): 您没有发布任何预期的输出,因此上面的内容将只打印整个文件(如果包含)
line1
line2
line3
如果需要字符串匹配而不是regexp匹配,请使用index()
而不是~
如果您没有gawk,可以选择一些您知道不能在输入文件中用作RS的控制字符,或者使用串联一次创建一行记录字符串,然后在结尾部分对其进行测试
如果这不是您想要做的,请编辑您的问题以澄清并添加一些简短的代表性输入和预期输出。这看起来是一件非常间接和脆弱的事情。是否确实不想查找所有包含名为“ObjectNameType”且扩展名为“xsd:string”的simpleType的文件?以及建议如何查找?问题是,我需要确保秩序得到尊重,以便知道它属于该部分。我正在做一个健康检查脚本,该脚本获取Web服务的wsdl,如果我发现这些语句,我知道Web服务将失败。我建议使用XML工具(如xmlstarlet或xmllint)进行匹配,这些工具可以理解XML。您没有解释为什么这些行表示存在bug,所以我不能更具体地说。我试图澄清它,请让我知道现在是否更清楚。巴德:“我需要在XML文件中找到这一行,然后是这一行,然后是这一行。”好:“我需要找到名为“ObjectNameType”的simpleType节点没有“限制”的XML文件“元素,因为这是一个bug。”
line1
line2
line3