PS> '<em:version>0.0.0.2</em:version>' -replace '<[^>]+>'
0.0.0.2
# replace file content
(Get-Content file.txt) -replace '<[^>]+>'
em um arquivo txt eu tenho esta linha:
<em:version>0.0.0.2</em:version>
Qual cmd (dos ou powershell) eu posso usar para buscar isso?
0.0.0.2
O PowerShell pode analisar diretamente o XML. Não há necessidade de expressões regulares. Aqui está um exemplo com um arquivo install.rdf do FireFox. (Eu estou supondo que seu arquivo pode ser algo assim.)
PS> [xml]$rdf = Get-Content .\install.rdf
PS> $rdf.RDF.Description.version
1.0
tente isso
$fileContent=gc "path to text file"
$pattern = '(?i)<em:version[^>]*>(.*)</em:version>'
$result = [Regex]::Matches($fileContent, $pattern)
$result | ForEach-Object {
$_.Groups[1].Value
}
Que tal isso? Um comando DOS de uma linha:
for /f "usebackq tokens=2 delims=<>" %%A in ('type "File.txt" ^| find "<em:version>"') do echo.%%A