合并来自多个文件的所有内容,找到匹配的字符串并计算每行的数量
Combine all content from several files, find matching strings and get a count of each line
我知道如何获取数据并使用某种模式搜索数据。但这不是我需要的。
Get-ChildItem -recurse -Filter *.xml | Get-Content | Select-String -pattern "something here"
我正在搜索 100 个 GPO xml 文件,我们正试图删除一遍又一遍执行相同操作的 GPO。我想找到独特的价值并将它们组合成一个快乐的大 gpo 并摆脱所有多余的价值。
我的目标:
1) 从 100 个子文件夹中的所有 *.xml 文件中获取所有信息,并将它们合并到一个文件中。
2) 查找包含相同字符串的所有行并计算该字符串的数量。我需要对合并文件中的所有字符串进行计数。
3) 我的目标是找到唯一的行并将它们保存到文件中,以供进一步使用。
这是使用 Hashtable
的一种快速而简单的方法。由于 Hashtable
setter 执行 "update or create",您最终会得到一个不同的列表:
$ht = @{}
Get-ChildItem -recurse -Filter *.xml | Get-Content | %{$ht[$_] = $true}
$ht.Keys
编辑:刚刚看到您也想要计数。你可以这样做:
$ht = @{}
Get-ChildItem -recurse -Filter *.xml | Get-Content | %{$ht[$_] = $ht[$_]+1}
$ht
要导出为 CSV:
$ht.GetEnumerator() | select key, value | Export-Csv D:\output.csv
我知道如何获取数据并使用某种模式搜索数据。但这不是我需要的。
Get-ChildItem -recurse -Filter *.xml | Get-Content | Select-String -pattern "something here"
我正在搜索 100 个 GPO xml 文件,我们正试图删除一遍又一遍执行相同操作的 GPO。我想找到独特的价值并将它们组合成一个快乐的大 gpo 并摆脱所有多余的价值。
我的目标:
1) 从 100 个子文件夹中的所有 *.xml 文件中获取所有信息,并将它们合并到一个文件中。
2) 查找包含相同字符串的所有行并计算该字符串的数量。我需要对合并文件中的所有字符串进行计数。
3) 我的目标是找到唯一的行并将它们保存到文件中,以供进一步使用。
这是使用 Hashtable
的一种快速而简单的方法。由于 Hashtable
setter 执行 "update or create",您最终会得到一个不同的列表:
$ht = @{}
Get-ChildItem -recurse -Filter *.xml | Get-Content | %{$ht[$_] = $true}
$ht.Keys
编辑:刚刚看到您也想要计数。你可以这样做:
$ht = @{}
Get-ChildItem -recurse -Filter *.xml | Get-Content | %{$ht[$_] = $ht[$_]+1}
$ht
要导出为 CSV:
$ht.GetEnumerator() | select key, value | Export-Csv D:\output.csv