Windows cmd 或 powershell 在文件中搜索字符串?

Windows cmd 或 powershell 在文件中搜索字符串?

在 txt 文件中我有以下行:

<em:version>0.0.0.2</em:version>

我可以使用哪个 cmd(dos 或 powershell)来获取它?

0.0.0.2

答案1

PS> '<em:version>0.0.0.2</em:version>' -replace '<[^>]+>'
0.0.0.2

# replace file content
(Get-Content file.txt) -replace '<[^>]+>'

答案2

PowerShell 可以直接解析 XML。无需正则表达式。下面是一个 FireFox install.rdf 文件的示例。(我猜你的文件可能就是这样的。)

PS> [xml]$rdf = Get-Content .\install.rdf
PS> $rdf.RDF.Description.version
1.0

答案3

尝试这个

$fileContent=gc "path to text file"

$pattern =  '(?i)<em:version[^>]*>(.*)</em:version>'


$result = [Regex]::Matches($fileContent, $pattern)

$result | ForEach-Object {
  $_.Groups[1].Value
} 

答案4

这个怎么样?一行 DOS 命令:

for /f "usebackq tokens=2 delims=<>" %%A in (`type "File.txt" ^| find "<em:version>"`) do echo.%%A

相关内容