我在某个文件中有一个文本,如
<Variable name="URL" value="http://url:port"/>
我想在值标记(http://url:port
)中使用网址。
我正在使用的命令和正则表达式是
FindStr /R /C:"\"URL\" *value=*\"*\"" <filename>
上述正则表达式与文件中的行匹配,但无法提取该url字符串
任何建议?
答案 0 :(得分:1)
findstr不会为您捕获任何值。如果您可以下载工具,可以尝试gawk for windows
C:\test>gawk "/value/{ gsub(/.*value=\042|\042.*/,\"\");print }" file
http://url:port
如果没有,您可以使用vbscript
strFile= WScript.Arguments(0)
Set objFS = CreateObject( "Scripting.FileSystemObject" )
Set d = CreateObject("Scripting.Dictionary")
Set objFile = objFS.OpenTextFile(strFile)
Do Until objFile.AtEndOfStream
strLine=objFile.ReadLine
If InStr(strLine,"value=") > 0 Then
s=Split(strLine,"value=")
s1=Replace(s(1),"/>","")
WScript.Echo s1
End If
Loop
用法:
C:\test>cscript //nologo test.vbs file
"http://url:port"