2017-02-15 12 views
0

У меня возникли проблемы с анализом вывода из остального api. это строка многострочногоpowershell: отдельный и синтаксический анализ многострочной строки

Policy Name: Default_US_MultiSite Id: abc1234abc123 Buckets: support_us1_multisite,ch1ny2 
Policy Name: Default_CH Id: 123456789acdef Buckets: question,answer,ch2,ch1,drive.me.closer 
Policy Name: Default_NY Id: qrstuvwxyz9876 Buckets: demo,bucket1,test1,test,ny0,nyhello,goodbye,new.shoes,pizza,cutecats,theinternetisfor,Halloween,For-the-emperor 

Теперь у меня есть представление о том, как разделить его на линии, своего рода, и я пытаюсь использовать следующий код

$data.Split("`n") 

, но я до сих пор не могу понять, как идти о следующем и разобрать этот

оно не признает название политики, ковши, идентификатор в виде отдельных объектов

преобразовать его в или назначить его как JSON или xml или что-то большее, чем просто Convertto-xml или [xml], префиксные $ data?

Благодаря

ответ

2

Пример:

$data = @" 
Policy Name: Default_US_MultiSite Id: abc1234abc123 Buckets: support_us1_multisite,ch1ny2 
Policy Name: Default_CH Id: 123456789acdef Buckets: question,answer,ch2,ch1,drive.me.closer 
Policy Name: Default_NY Id: qrstuvwxyz9876 Buckets: demo,bucket1,test1,test,ny0,nyhello,goodbye,new.shoes,pizza,cutecats,theinternetisfor,Halloween,For-the-emperor 
"@ 

$data -split "`n" | 
    Select-String 'Policy Name: (\w+) Id: (\w+) Buckets: (.+)' | 
    ForEach-Object { 
    New-Object PSObject -Property ([Ordered] @{ 
    "PolicyName" = $_.Matches[0].Groups[1].Value 
    "Id"   = $_.Matches[0].Groups[2].Value 
    "Buckets" = $_.Matches[0].Groups[3].Value 
    }) 
} 

Select-String выходы MatchInfo объектов. Из них вы можете извлечь группы соответствия. New-Object выводит новый объект на основе совпадений, извлекаемых из каждой выходной строки.

+0

Удивительный, СПАСИБО ВАС очень .... Я просто добавляю ** | Foreach-object {$ _ -split ","} ** к ведрам, чтобы сделать его массивом .... можете ли вы указать мне на правильное направление относительно того, почему и как это работает? – AdilZ

+1

Добавлено краткое объяснение. –