powershell - 合并多个文件中的所有内容,找到匹配的字符串并获取每行的计数

标签 powershell text powershell-2.0

我知道如何获取数据并使用某种模式搜索数据。但这不是我需要的。

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/

相关文章:

git - 无法使用 Powershell 推送到 github

regex - Azure CLI\Powershell 如何排除要求

powershell - 如何增加与 Powershell 3 并行的进程数?

mysql - 使用 Rails 提取博客文章的 "preview"

powershell - 使用 PowerShell 脚本执行 EXE 文件

powershell - 在PowerShell中返回关键字-输出格式不正确

html - 如何在文本中包含小数字(文本数字)?

python - 将文件中的普通数字转换为整数列表

powershell - 使用带步骤的范围运算符

powershell - 如何批量启用任务