Прелести -join
Рассмотрим новый (появился в ps v2) оператор -join. На примере задачи. Имеем загруженный из файла массив адресов электронной почты. Необходимо формировать часть SQL запроса для LogParser
, как это показано ниже:
(RequestParams LIKE '%@domain1%') OR (RequestParams LIKE '%@domain2%') OR (RequestParams LIKE '%@domain3%') OR (RequestParams LIKE '%@domain4%')
Как мы это делали в powershell v1:
[string]$controlDomainsStr = "" $controlDomains | % {$controlDomainsStr += "OR (RequestParams LIKE '%$_%')`n"} $controlDomainsStr = $controlDomainsStr.substring(3)
Мягко говоря — некрасиво. Да и для потока крайне неудобно. А теперь можем вот так:
($controlDomains | % {"(RequestParams LIKE '%$_%')"}) -join "`nOR "
Согласитесь, такой вариант намного удобнее, да и с точки зрения использования при обработке потока куда приятнее.
P.S. Сознательно не упоминал о методе [string]::join, который можно было и в ps v1 использовать.
Отзывы » (3)
RSS комментарии
Обратная ссылка
Добрый день. Я подписался на ваш блог по рассылке мен приходит следующая ссылка: http://feedproxy.google.com/~r/novgaro/sergey-s-betke/~3/iQYanT7RCJM/ps-join?utm_source=feedburner&utm_medium=email , которая (при открытии) перенаправляет меня на https://sergey-s-betke.blogs.novgaro.ru/ps-join#utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+novgaro%2Fsergey-s-betke+%28IT+%D0%B1%D0%BB%D0%BE%D0%B3+%D0%91%D0%B5%D1%82%D0%BA%D0%B5+%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D1%8F%29
Которая, не открывается. IMHO, перенаправление должно происходить на URL с префиксом http, а не https
Уже имею подобное замечание. Просьба — замечания и пожелания по сайту размещайте на странице О проекте. Ответ на вопрос размещаю именно там.
[...] первого перенаправления мы получаем следующий url: http://sergey-s-betke.blogs.novgaro.ru/ps-join?utm_source=feedburner&utm_medium=email&utm_ca…, а уж запрос GET на который и пытается нас перекинуть на [...]