powershell - 根据服务器名称分解 csv 数据

标签 powershell

我的 csv 文件中有以下数据

"Server Name","Control Group","Tape Number","Status"
"BR502","QCLDUSYSW","Q23028","ACTIVE"
"BR502","QCLDUSYSW","Q32521","ACTIVE"
"BR502","QCLDUSYSW","Q05599","ACTIVE"
"BR503","QCLDUIPLW","Q25582","ACTIVE"
"BR503","QCLDUIPLW","Q15529","ACTIVE"
"BR503","QCLDUIPLW","Q05109","ACTIVE"
"BR504","QCLDUSYSW","Q14445","ACTIVE"
"BR504","QCLDUSYSW","Q27785","ACTIVE"
"BR504","QCLDUUSRD","Q26071","ACTIVE"
"BR505","QCLDUGRPD","Q27657","ACTIVE"
"BR505","QCLDUIPLW","Q17404","ACTIVE"

请让我知道如何根据服务器名称来破解它,如下所示

"Server Name","Control Group","Tape Number","Status"
"BR502","QCLDUSYSW","Q23028","ACTIVE"
"BR502","QCLDUSYSW","Q32521","ACTIVE"
"BR502","QCLDUSYSW","Q05599","ACTIVE"

"Server Name","Control Group","Tape Number","Status"
"BR503","QCLDUIPLW","Q25582","ACTIVE"
"BR503","QCLDUIPLW","Q15529","ACTIVE"
"BR503","QCLDUIPLW","Q05109","ACTIVE"

其余服务器依此类推。

最佳答案

使用Group-Object cmdlet根据特定属性将记录分组在一起:

Import-Csv .\input.csv |Group-Object -Property 'Server Name' |ForEach-Object {
  # for each group, output a new CSV file with just the records pertaining to that server, named after the server
  $_.Group |Export-Csv .\$($_.Name).csv -NoTypeInformation
}

关于powershell - 根据服务器名称分解 csv 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69470443/

相关文章:

提示用户的 Powershell 脚本

powershell - 无法识别 Get-ADUser

powershell - Remove-WebVirtualDirectory ...没有强制/静默选项?

powershell - Databricks API 2.0 - 使用服务主体凭据在 powershell 中创建 secret 范围

powershell - Powershell远程安装应用程序

.net - Start-Process/System.Diagnostics.Process ExitCode 是 $null with -NoNewWindow

function - 如何动态创建在父作用域中可访问的功能?

PowerShell如何添加自定义常用参数?

powershell - 记录 Powershell 模块和脚本

powershell - 如何在 Windows 10 PowerShell 上禁用语法高亮显示?