2016-03-08 2 views
3

Эта строка кода:Получение первой строки строки в переменной с помощью Powershell

$eventResult = Get-EventLog -Source ".net runtime" -LogName Application -Newest 1 | select -expandproperty message 

Выходы очень длинная строка в $ eventResult.

Что бы я хотел сделать, это захватить самую первую строку.

Это выводит все содержимое $ eventResult:

$eventResult | select-object -first 1 

Однако, выводя данные в файл, а затем разборе он работает как шарм:

$eventResult | out-file c:\output.txt 
cat c:\output.txt | select-object -first 1 

Что я здесь отсутствует?

UPDATE: если выход следующим образом:

Line1... 
Line2... 
Line3... 

Тогда все, что я хочу "Line1 ..."

UPDATE2:

Я редактировал $ eventResult (забыл | выберите сообщение).

+0

Ваше сообщение немного расплывчато с языком «первой строки». Вы хотите захватить данные без заголовков? Это то, что вы подразумеваете под первой строкой? – dfundako

+0

Я имею в виду буквально первую строчку. Я постараюсь перефразировать. – JustAGuy

ответ

9

Разделение строки на новой строке в массив, а затем принятие первого массива будет работать, хотя оно может и не быть наиболее эффективным.

($eventResult.Message -split '\n')[0] 
+0

Неэффективен, но это сработало :) Престижность вам, мой друг. – JustAGuy

Смежные вопросы