如何有条件地计算CSV列中的字段

时间:2017-03-23 11:58:52

标签: powershell csv powershell-v3.0

我有一张CSV。在特定列上,我想计算我将找到特定字符串的行数。我已将字符串列表放在变量中:

msg

我最终显示正确的结果错误消息首先显示:我没有列出$(document).ready(function () { $('#language_selection_audio').val(['de', 'en']); // Pass an array, for multiple selections $('#language_selection_audio :selected').attr('data-type', 'edit'); // Add custom attribute }); 列将包含的所有可能值

  

指定的通配符模式无效:[120]板
  在c:\ myscript.PS1:134 char:70

某些字段在列内有方括号。

CSV文件看起来像这样

msg,Personn
test,bill
120 test,eli
test test,eli
[1] test,bill
[120] board,bill
alarm [1],Jo

输出如下:

test,4

因为有4行,每行至少包含一次字符串" test"。

1 个答案:

答案 0 :(得分:0)

试试这个

$list = @('test', 'alarm')
import-csv "C:\temp\test.csv" | foreach{
    $msg=$_.msg
    $list | where {$msg -like "*$_*"} | select @{N="WordFounded";E={$_}}, @{N="Msg";E={$msg}}
} | group WordFounded
相关问题