【发布时间】:2017-08-15 23:15:58
【问题描述】:
我有一个 CSV。在特定列上,我想计算可以找到特定字符串的行数。我已将字符串列表放在一个变量中:
$list = 'test'
$tmpFiltre2 = 'c:\test.csv'
Import-Csv $tmpFiltre2 -Delimiter "," | Where-Object {
$_.msg -and $list -like $_.msg
} | group msg -NoElement
我最终得到正确的结果错误消息首先显示:我没有列出msg 列将包含的所有可能值)
指定的通配符模式无效:[120] board
在 c:\myscript.PS1:134 char:70
某些字段在列内有方括号。
CSV 文件如下所示
味精,人 测试,账单 120测试,伊莱 测试测试,eli [1] 测试,账单 [120] 板、单 报警 [1],乔输出将如下所示:
测试,4因为有 4 行,每行至少包含一次字符串“test”。
【问题讨论】:
-
我没有列出 msg 列将包含的所有可能值 您没有列出任何值。举一些例子,也许
-like不是这个理想的运算符。 -
为确保我们以您希望的方式回答这个问题,我们需要查看一些示例输出。我不明白你的行之间的关系。您现在所做的只是过滤掉一些记录,甚至是我不完全理解的记录。对于每个剩余的记录,您的计数将为 1。您想知道该文件中“120 条测试”记录的数量吗?
标签: powershell csv powershell-3.0