Command line 编写cmd行脚本来解析xml文件
如果某个xml文件包含以下行,那么(通过脚本从命令行)检查的最佳解决方案是什么:Command line 编写cmd行脚本来解析xml文件,command-line,scripting,Command Line,Scripting,如果某个xml文件包含以下行,那么(通过脚本从命令行)检查的最佳解决方案是什么: <endpoint uri="endpoint.php" class="flex.messaging.endpoints.AMFEndpoint"/> 还是这条线 <!-- <endpoint uri="endpoint.php" class="flex.messaging.endpoints.AMFEndpoint"/> --> 如果找到第二个(已注释掉),是否停止
<endpoint uri="endpoint.php" class="flex.messaging.endpoints.AMFEndpoint"/>
还是这条线
<!-- <endpoint uri="endpoint.php" class="flex.messaging.endpoints.AMFEndpoint"/> -->
如果找到第二个(已注释掉),是否停止执行
Thx,
martin是单线还是跨多线?如果是前者,您可以使用
grep
更新:似乎有一些支持XML的变体,比如,和。单行还是跨多行?如果是前者,您可以使用
grep
更新:似乎有一些支持XML的变体,如和。假设模式发生在单行
#!/bin/bash
awk '
/<endpoint uri=.*endpoint.php.*class.*flex.messaging.endpoints.AMFEndpoint/ && /<!--/{
exit
}
/<endpoint uri=.*endpoint.php.*class.*flex.messaging.endpoints.AMFEndpoint/{
# to execute external script inside awk, uncomment below
#cmd = "myscript.sh"
#system(cmd)
}
' file
#/bin/bash
awk'
/ 假设模式发生在单线上
#!/bin/bash
awk '
/<endpoint uri=.*endpoint.php.*class.*flex.messaging.endpoints.AMFEndpoint/ && /<!--/{
exit
}
/<endpoint uri=.*endpoint.php.*class.*flex.messaging.endpoints.AMFEndpoint/{
# to execute external script inside awk, uncomment below
#cmd = "myscript.sh"
#system(cmd)
}
' file
#/bin/bash
awk'
/这些并不完全可靠。一个节点称为其OP的样本,而不是我的样本。若端点中有“s”的可能性,那个么完全匹配它就可以了。这看起来不错!如何检查就足够了。我正在尝试执行第二种情况下的脚本。。。仅仅在那里输入命令对我不起作用,例如(./doSomething.sh)我需要使用exec()吗?这些不是完全可靠的。一个节点称为其OP的样本,而不是我的样本。若端点中有“s”的可能性,那个么完全匹配它就可以了。这看起来不错!如何检查就足够了。我正在尝试执行第二种情况下的脚本。。。仅在其中输入命令对我不起作用,例如(./doSomething.sh)我需要使用exec()吗?