2014-02-12 3 views
1

У меня проблема с выходом format-table. Я не уверен, есть ли способ сделать это, но это стоит спросить ...Powershell Format-Table: Логически ломающиеся длинные строки

Я собираюсь просто погрузиться и определить, с чем я работаю сейчас, на урезанном уровне.

$ find = read-host "что вы хотите найти?"

$ file = read-host "Где вы хотите посмотреть?"

$ Формат = @ {выражение = {$ .linenumber}; этикетка = "Line", ширина = 5}, {@ выражение = {$ .Строка}; этикетка = "Данные"

$ result = select-string -simple $ find $ file | выберите LineNumber, Line | format-table $ format -auto -wrap | foreach-object {$ _; эхо «»}

$ результат

Конечный результат довольно прост, он делает таблицу на две колонки с небольшой колонке «линии» и большей колонке данных на этой линии.

Есть одна проблема: столбец данных разбивается на длину символа, что делает его плохой для чтения или вывода в файл. Примером может служить следующее:

Line Data                   
---- ----                   

    17 <div role="note">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Se 
    d sit amet varius leo, vel adipiscing lacus. Ut pharetra tristique mauris id 
     pulvinar. Nunc dictum volutpat eros, ut mattis purus ultrices vehicula. Mor 
    bi non rhoncus tortor, in pulvinar tortor. 

Как вы можете видеть, «sed» и «Morbi» разрезаются по контуру линии. Было бы неплохо, если бы оно разрезалось таким образом, чтобы оно идентифицировало пробелы и опустилось до следующей строки. Любая помощь будет оценена по достоинству.

EDIT:Решение, помеченное как правильное, было отмечено как таковое, потому что это, вероятно, самое близкое к идеалу. Если появится лучшая альтернатива, это, скорее всего, станет решением. Я просто использовал его, и он работал достаточно хорошо.

+1

Я не думаю, что вы собираетесь это сделать. Он просто упрощает форматирование по ширине, поэтому он легкий и быстрый. Если бы они делали это так, как стиль форматирования текстового редактора, он начинал становиться большим и медленным. – mjolinor

+0

Согласен с @mjolinor –

ответ

0

Пробовал ли вы подключать его к Out-String с большой шириной?

+0

У меня не было, пока вы не предложили его. Статическая большая ширина делает то же самое, только в разных местах (с 500, но не с 1000, так как линии не так уж и длинны). Возможно, мне нужно получить длину найденной строки, назначить переменную этой длине и вызвать ее для -width, если ничего другого. Это похоже на неоправданное усложнение, но гибкость может стоить этого в долгосрочной перспективе. – MrSchism

+0

Оглядываясь назад, большие ширины не помогают в консоли, только при сбрасывании на файл. – MrSchism

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