gpt4 book ai didi

powershell - 如何对选择字符串提取的数字求和?

转载 作者:行者123 更新时间:2023-12-03 00:35:10 25 4
gpt4 key购买 nike

假设我有一个文件numbers.txt:

My number 1...My number 2...My number 3...

I am trying to calculate sum of the numbers above. I extracted a number from each line like this:

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

看起来正是我想要总结的。接下来,我尝试应用Measure-Object:
$numbers | measure -sum

度量:输入对象“”不是数字。
在线:1个字符:12个
+ $ numbers |小数和
+ ~~~~~~~~~~~~~
+ CategoryInfo:InvalidType:(:PSCustomObject)[Measure-Object],
PSInvalidOperationException
+ FullyQualifiedErrorId:
NonNumericInputObject,Microsoft.PowerShell.Commands.MeasureObjectCommand

我究竟做错了什么?

最佳答案

您的数组不是由数字组成,而是具有非常长的属性名称(您的脚本块值)的对象,其中包含字符串值。

Select-Object 替换为 Foreach-Object 以获取该值,并将其转换为int并进行计算。例如:

$numbers = gc .\numbers.txt | sls -Pattern "number\ (\d+)" | Foreach-Object {$_.matches[0].groups[1].Value -as [int] }
($numbers | measure -sum).Sum

关于powershell - 如何对选择字符串提取的数字求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43500670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com