Powershell 动态循环浏览文本文件并获取常见匹配项

Powershell 动态循环浏览文本文件并获取常见匹配项,powershell,export-to-csv,Powershell,Export To Csv,我有一个将数据输出到文本文件的脚本。现在我需要一种方法来获得与项目匹配的行数,并获得一个计数。我知道如何通过这样做得到一个值的计数 $ProjectMatches = Select-String -InputObject $FileContent -Pattern "PROJECT ID FOAH834" -AllMatches 但是我需要遍历文本文件,获取每个项目ID SOMEPROJECTNUMBER的计数,并获取每个项目的计数,然后将这些结果导出到csv文件。我的目标是展示每个项目投入了

我有一个将数据输出到文本文件的脚本。现在我需要一种方法来获得与项目匹配的行数,并获得一个计数。我知道如何通过这样做得到一个值的计数

$ProjectMatches = Select-String -InputObject $FileContent -Pattern "PROJECT ID FOAH834" -AllMatches
但是我需要遍历文本文件,获取每个
项目ID SOMEPROJECTNUMBER
的计数,并获取每个项目的计数,然后将这些结果导出到csv文件。我的目标是展示每个项目投入了多少时间。每次参赛时间为15分钟

11/2/2017 8:07:34 PM
This 15 minutes is dedicated to PROJECT ID FOAH834
11/2/2017 8:07:36 PM
This 15 minutes is dedicated to PROJECT ID FOAH834
11/2/2017 8:07:38 PM
This 15 minutes is dedicated to PROJECT ID FOAH841
11/2/2017 8:10:15 PM
This 15 minutes is dedicated to PROJECT ID FOAH18
11/2/2017 8:10:17 PM
This 15 minutes is dedicated to PROJECT ID FOAH690
11/2/2017 8:10:21 PM
This 15 minutes is dedicated to PROJECT ID PRJ0036909
11/2/2017 8:19:32 PM
This 15 minutes is dedicated to PROJECT ID FOAH18
11/2/2017 8:21:02 PM

您可能希望先进行一些正则表达式匹配,然后再进行字符串操作,而不是对所有值进行硬编码

我会用像这样的东西

$matches = [regex]:matches($FileContent,"PROJECT ID .*<br/>")
foreach($entry in $hashtable.keys){
    write-output "$entry: $($hashtable[$entry])"
}
然后,您可以使用以下方法处理哈希表

$matches = [regex]:matches($FileContent,"PROJECT ID .*<br/>")
foreach($entry in $hashtable.keys){
    write-output "$entry: $($hashtable[$entry])"
}