Разделить CSV-файл по соответствующим столбцам - PullRequest
3 голосов
/ 07 декабря 2011

У меня есть файл с именем test.csv, Данные в файле выглядят так:

ServerName,Software
"server1.domain.com","Security Update for Windows Server 2003 (KB890046)"
"server1.domain.com","Security Update for Windows Server 2003 (KB893756)"
"server2.domain.com","Microsoft .NET Framework 3.5 SP1"
"server2.domain.com","Microsoft SQL Server 2005"
"server3.domain.com","Security Update for Windows Server 2003 (KB916281)"
"server3.domain.com","Security Update for Windows Server 2003 (KB917159)"

Я хочу разбить его на файлы для каждого сервера, используя «ServerName» в качестве имени файла и содержащийданные из столбца «Программное обеспечение»

Мне бы хотелось, чтобы выходные данные выглядели так:

file: server1.domain.com.csv

Security Update for Windows Server 2003 (KB890046)
Security Update for Windows Server 2003 (KB893756)


file: server2.domain.com.csv

Microsoft .NET Framework 3.5 SP1
Microsoft SQL Server 2005"


file: server3.domain.com.csv

Security Update for Windows Server 2003 (KB916281)
Security Update for Windows Server 2003 (KB917159)

Я новичок в Powershell и не могу понять, как это сделать.Спасибо.

1 Ответ

3 голосов
/ 07 декабря 2011

Попробуйте, сгруппируйте содержимое по ServerName.Группа Foreach выбирает свойство Software и экспортирует его в CSV-файл с именем каждого сервера:

Import-Csv test.csv | Group-Object ServerName | Foreach-Object{
    $_.Group | Select-Object Software | Export-Csv "$($_.Name).csv" -NoTypeInformation
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...