我知道如何获取数据并使用某种模式搜索数据。但这不是我需要的。
Get-ChildItem -recurse -Filter *.xml | Get-Content | Select-String -pattern "something here"
我正在搜索 100 个 GPO xml 文件,并且我们正在尝试删除一遍又一遍执行相同操作的 GPO。我想找到独特的值并将它们组合成一个大的快乐 gpo 并摆脱所有多余的值。
我的目标:
1) 获取 100 个子文件夹中所有 *.xml 文件的所有信息,并将它们合并到一个文件中。
2) 查找包含相同字符串的所有行并获取该字符串的计数。我需要对组合文件中的所有字符串进行计数。
3)我的目标是找到唯一的行并将它们保存到文件中,以供进一步使用。
最佳答案
这是一种使用哈希表
的快速而肮脏的方法。由于 Hashtable
setter 执行“更新或创建”,因此您最终会得到一个不同的列表:
$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
关于powershell - 合并多个文件中的所有内容,找到匹配的字符串并获取每行的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29760115/