21

Есть ли способ сохранить раскраску текста, пропущенного через pipe | head , tail , less и т. д.?

2 ответа2

13

Я предполагаю, что вы работаете с ls и хотите сохранить цветовые коды терминала. Вы можете сказать ls --color=always (вместо значения по умолчанию --color=auto), которое сохранит коды, но это не гарантирует, что объект, который вы отправляете, знает, как их понимать.

Если вы используете glark вместо grep он будет пытаться отображаться с цветами.

Если вы используете less с -R он попытается отобразить с цветами.

9

Это зависит от программы, которая генерирует вывод в трубе.

head , tail и т. д. не те, кто удаляет цвета, это программа, генерирующая данные, которые обычно проверяют, идет ли вывод на консоль (цветной), файл или канал (не цветной)

Я обнаружил еще один SU Q & A, показывающий, как лгать программам вывода на поток, как если бы они отправляли вывод на консоль (эмулируя консоль с помощью unbuffer)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .