假设我有一个文件numbers.txt
:我如何总结选择字符串提取的数字?
My number 1 ... My number 2 ... My number 3 ...
我试图计算出上述数字的总和。我从每行提取一个数字,如下所示:
PS > $numbers = gc .\numbers.txt | sls -Pattern "number\ (\d+)" |
>> select {$_.matches[0].groups[1].Value}
>>
PS > $numbers
$_.matches[0].groups[1].Value
-----------------------------
1
2
3
看起来正是我想要总结的。接下来我想申请的措施,对象:
$numbers | measure -sum
measure : Input object "" is not numeric. At line:1 char:12 + $numbers | measure -sum + ~~~~~~~~~~~~ + CategoryInfo : InvalidType: (:PSCustomObject) [Measure-Object], PSInvalidOperationException + FullyQualifiedErrorId : NonNumericInputObject,Microsoft.PowerShell.Commands.MeasureObjectCommand
我在做什么错?
我可以投它甚至有Select-对象为int,但我不知道是长度属性名称的措施,对象的障碍是什么? – greatvovan
铸造零件不是“选择对象”的问题。问题在于'Select-Object'使用表达式(scriptblock)创建了一个具有相同名称的属性。我们可以给这个列另一个名字(@ {n =“ColumnName”; e = {$ _。matches [0] .etc}}'),但由于您只需要这个数字,所以跳过'Select -Object',并使用'Foreach-Object'。 –
我明白了......这并不容易,但对理解有用。所以当我尝试使用'measure -sum'$ _。matches [0] .groups [1] .Value“'时,它基本上不知道该名称,对吧?那么有什么感觉有我们无法访问的名字? – greatvovan