Чи є якийсь спосіб, щоб текст, переданий голові, хвосту, менше тощо, був кольоровим?


26

Чи є спосіб зберегти розфарбовування тексту проходить через трубу |до head, tail, lessі т.д.?


Якась конкретна програма виводу? Це залежить від програми, що надсилає дані через канал. head, tailі т. д. не ті, які видаляють кольори, це програма, яка генерує дані, які зазвичай перевіряють, чи йде вихід на консоль (кольоровий), файл або трубу (не кольоровий).
KurzedMetal

Відповіді:


15

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

Якщо ви використовуєте glarkзамість grepнього, спробуйте відобразити кольорами.

Якщо ви користуєтесь lessз -Rнею, спробуєте відобразити кольорами.


6
Я з труб git. Я виявив, що він має схожу конфігурацію (наприклад, git config color.diff always), яка зберігає колоризацію.
Тимофей Горшков

1
@Errandir Проблема з цією конфігурацією полягає в тому, що вона порушить будь-який скрипт або команду, яка використовує git diffвихід як вхід, тому що вона завжди виводить коди аварійних відхилень ANSI.
KurzedMetal

@Errandir, дякую! У мене немає сценаріїв, які б покладалися на чистий вихід з git diff, тому це працює для мене !! Дякую !
Ашутош Джиндал

Я використовував це для grep: grep "string" file.txt | headщоб переконатися, що результат від grep був кольоровим, я просто змінив це наgrep "string" file.txt --color=always | head
Emil Stenström

13

Це залежить від програми, яка генерує вихід у трубі.

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

Я знайшов ще одне запитання і відповіді SU, яке показує, як брехати на трубопровідні програми для виведення, як ніби вони надсилають вихід на консоль (емуляція консолі за допомогою unbuffer)


Чи є спосіб зберегти колоризацію в color=autoрежимі (змусити програму думати, що вихід іде в консоль замість труби)?
Тимофей Горшков

@KurzedMetal Як програма, наприклад head, tailтощо, виявляє, що вона передається в іншу програму (щоб вона могла генерувати дані без кольорів тощо).
Хорхе Букаран

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.