PowerShell:在多行输入文件的行中选择字符串

时间:2018-06-11 03:09:28

标签: powershell

我的输入文件dummy.build包含内容:

<property name="componentA.version" value="3.50.0.7"/>
<property name="componentB.version" value="3.50.0.12"/>

如何使用 PowerShell 获取组件A的版本,(在这种情况下为3.50.0.7)?

1 个答案:

答案 0 :(得分:0)

这是一种方式:

Get-Content dummy.build |
    ForEach-Object {
        if($_ -match '"(?<Component>\w+)\.version\".*\"(?<Version>(\d+\.){3}\d+)\"')
        {
            [PsCustomObject]@{
                Component = $matches.Component
                Version = $matches.Version
            }
        }
    }

这将为每个匹配行生成一个自定义对象,组件名称和版本为属性:

Component  Version  
---------  -------  
componentA 3.50.0.7 
componentB 3.50.0.12