[PowerShell] Select-String режет строки
От: _NN_  
Дата: 04.02.14 08:25
Оценка:
Есть файл с очень длинными строками (300-400 символов).
Запускаю Select-String '.\myfile.txt' -Pattern "ABC" > .\a.txt

Получаю строки с переходами на 120 символов, т.к. это то что выставлено в консоли.
Как это отменить ??
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: [PowerShell] Select-String режет строки
От: Vovstehn  
Дата: 04.02.14 10:41
Оценка: 10 (1)
Здравствуйте, _NN_, Вы писали:

_NN>Есть файл с очень длинными строками (300-400 символов).

_NN>Запускаю Select-String '.\myfile.txt' -Pattern "ABC" > .\a.txt

_NN>Получаю строки с переходами на 120 символов, т.к. это то что выставлено в консоли.

_NN>Как это отменить ??

Можно воспользоваться командлетом out-file с параметром Width:
Select-String '.\myfile.txt' -Pattern "ABC" | out-file .\a.txt -Width 5000
Re[2]: [PowerShell] Select-String режет строки
От: _NN_  
Дата: 04.02.14 12:07
Оценка:
Здравствуйте, Vovstehn, Вы писали:

V>Можно воспользоваться командлетом out-file с параметром Width:

V>Select-String '.\myfile.txt' -Pattern "ABC" | out-file .\a.txt -Width 5000

А почему изначально оно так работает ? Как по мне, то поведение нелогичное
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: [PowerShell] Select-String режет строки
От: Vovstehn  
Дата: 04.02.14 14:09
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Здравствуйте, Vovstehn, Вы писали:


V>>Можно воспользоваться командлетом out-file с параметром Width:

V>>Select-String '.\myfile.txt' -Pattern "ABC" | out-file .\a.txt -Width 5000

_NN>А почему изначально оно так работает ? Как по мне, то поведение нелогичное

Это дань консоли. Эти командлеты задизайнены так, чтобы выводить то, что видит пользователь на консоли и не менять форматирование.
Вообще в повершеле много вещей, которые упрощают жизнь в консоли, но не очень логичны в неинтерактивных скриптах.
Re: [PowerShell] Select-String режет строки
От: Qodomoc Россия  
Дата: 11.02.14 11:31
Оценка:
_NN>Запускаю Select-String '.\myfile.txt' -Pattern "ABC" > .\a.txt

Еще можно использовать Set-Content:
Select-String '.\myfile.txt -Pattern "ABC" | Set-Content '.\a.txt'

Дело в том, что любая команда перенаправления вывода, перенаправляет
вывод уже непосредственно консоли (с ее 80 символами по умолчанию),
т.е. сначала всегда происходит вывод на консоль, и к свойствам Select-String
это отношения не имеет.
Re[2]: [PowerShell] Select-String режет строки
От: _NN_  
Дата: 17.02.14 07:26
Оценка:
Здравствуйте, Qodomoc, Вы писали:


Вывод, PowerShell не может полностью заменить Unix shell, а так хотелось.
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.