gpt4 book ai didi

linux - 需要在 wsdl - grep/awk/sed 上匹配确切的句子

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:06 25 4
gpt4 key购买 nike

很抱歉,我会尽力更好地解释:

我必须编写一个执行以下操作的脚本 -> 对 wsdl 进行curl 或 wget 并找到以下句子:

<schema targetNamespace="http://net.jboss.org/jmx" xmlns="asdasd2001/XMLSchema">
<import namespace=".xmlsoap.org/soap/encoding/" /><br/>
<simpleType name="ObjectNameType">
<simpleContent>
<extension base="xsd:string" />
</simpleContent>
</simpleType>
</schema>

如果 wsdl 上存在这些句子,则返回一个 bool 值 - 所以我想使用 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>`

在这个例子中,它向我展示了这些行

 `<import namespace="org/soap/encoding/" /> 
</schema>`

存在于文件中,但这对我没有帮助,我需要匹配所有行并按它们的顺序

现在是不是更清楚了?

提前感谢大家!

最佳答案

您只是说您想在文件中查找多行字符串吗?那是(使用 GNU awk 进行多字符 RS):

awk -v RS='^$' -v ORS= -v regexp="line1
line2
line3" '$0 ~ regexp' file

您没有发布任何预期的输出,因此上面的内容将仅打印整个文件(如果包含)

line1
line2
line3

如果您需要字符串匹配而不是正则表达式匹配,请使用 index() 而不是 ~

如果您没有 gawk,可以选择一些您知道不能出现在输入文件中的控制字符来用作 RS,或者使用连接一次一行地构建一个记录字符串,然后在 END 部分进行测试。

如果这不是您想要做的,请编辑您的问题以澄清并添加一些简短的代表性输入和预期输出。

关于linux - 需要在 wsdl - grep/awk/sed 上匹配确切的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23615079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com