首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell select-string根据匹配的数量返回不同的值。

Powershell select-string根据匹配的数量返回不同的值。
EN

Stack Overflow用户
提问于 2013-09-04 20:43:35
回答 2查看 2.4K关注 0票数 4

我有一个生成并包含各种文件引用的报表文件。我使用String和正则表达式来匹配某些类型的文件,并对它们执行后续处理。

当有0 (0)、1 (1)或多个(2+)匹配时,我面临的困境是试图一致地识别匹配的数量。以下是我尝试过的:

代码语言:javascript
复制
(select-string -path $outputfilePath -pattern $regex -allmatches).matches.count

如果有0匹配,则返回"null“,如果有一个匹配,则返回"1”,如果多个匹配,则返回"null“。

代码语言:javascript
复制
(select-string -path $outputfilePath -pattern $regex -allmatches).count

如果有0或1匹配,则返回"null“,如果有多个匹配,则返回匹配数。

我是Powershell的新手,但我正试图找到一种一致的方法来测试匹配的数量,而不管是否有0、1或多个匹配。

EN

Stack Overflow用户

发布于 2013-09-06 23:53:06

可以使用@(...)将结果始终放置在带有Count的集合中。

代码语言:javascript
复制
(Select-String ...)        # may return $null, one match, or a collection of matches
(Select-String ...).Count  # only succeeds for two or more matches

@(Select-String ...)       # always returns a collection of matches
@(Select-String ...).Count # always succeeds
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18623419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档