Powershell检查文件中变量中的文本,但忽略空白



我想用PowerShell做的是在配置文件中搜索一串随机数量的空白或制表符的文本

使用

$mytext = '<add name="MyName"
                dllPath="My.dll"
                className="MyClass" />'
Select-String -Path $myfile -Pattern $mytext

我认为.replace(' ' , '')可能有助于将空白去掉。然后我想,这里有很多比我聪明的人!

Thanks in advance

整洁的

如果您的空格可以包含换行符,那么我认为您不能使用Select-String做到这一点。它似乎是逐行检查你的模式,如果你的模式需要跨越行,这将不起作用。在这种情况下,您可以使用Get-Content来读取整个文件作为单个字符串和-match操作符,例如:

Get-Content .file.txt -Raw | Where {$_ -match '(?s)(name.*?dllPath)'} |
    Foreach {$matches[1]}

请注意,regex模式使用singleline或点匹配任何模式通过这个指令(?s)

谢谢大家的指点。

从你俩提供的信息,我现在加载xml到一个变量和解析它。

[xml]$myfile = Get-Content "c:myfile.config"

你可以用这个来检查

IF ($myfile.name -match $matchnametothis) {Write-Host "do something exciting here"}
再次感谢,并希望这有助于别人。

整洁的

相关内容

  • 没有找到相关文章

最新更新