Вывод отсортированных разделов отсортированных данных в переменную? - PullRequest
0 голосов
/ 14 января 2019

У меня есть следующий код PowerShell:

[xml]$xml = Get-Content uccxResourceList_forReference.xml
$xml.resources.resource |
    Select-Object firstname, lastname, extension,
        @{Name="Team"; Expression={($_.team.name)}} | 
    Sort Team |
    Format-Table

, который выдает такую ​​таблицу:

firstName   lastName    extension   Team
---------   --------    ---------   ----------------
Homer       Simpson     1000        SafetyInspectors
Frank       Grimes      1001        SafetyInspectors
Lenford     Leonard     1002        SafetyInspectors
Carlton     Carlson     1003        SafetyInspectors
Montgomery  Burns       2000        Executives
Waylon      Smithers    2001        Executives

Что я хотел бы сделать, так это вывести каждую команду в отдельный файл. Так что не просто | Out-File teamlist.txt в конце, но я хотел бы вывести текстовый файл, содержащий все «SafetyInspectors», а другой - со всеми «Executives».

Я знаю, что мог бы сделать это с помощью последующего цикла foreach, но я чувствую, что это также может быть сделано в конвейере, и я просто не знаю, как это сделать.

1 Ответ

0 голосов
/ 14 января 2019

Я бы предпочел выводить в файл CSV (который легко импортируется снова), поэтому:

[xml]$xml = Get-Content uccxResourceList_forReference.xml
$xml.resources.resource |
    Select-Object firstname, lastname, extension,
        @{Name="Team"; Expression={($_.team.name)}} | 
      Group-Object Team | ForEach-Object {
         $_.Group | Export-Csv ("{0}.csv" -f $_.Name) -NoTypeInformation
      }

Должен вернуть что-то вроде этого:

> gc .\Executives.csv
"firstName","lastName","extension","Team"
"Montgomery","Burns","2000","Executives"
"Waylon","Smithers","2001","Executives"

> gc .\SafetyInspectors.csv
"firstName","lastName","extension","Team"
"Homer","Simpson","1000","SafetyInspectors"
"Frank","Grimes","1001","SafetyInspectors"
"Lenford","Leonard","1002","SafetyInspectors"
"Carlton","Carlson","1003","SafetyInspectors"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...