Останнім часом в інструментах командного рядка спостерігається тенденція до використання фантазійних кольорів ANSI у своєму журналі (наприклад, NPM та безліч інструментів на основі nodejs, rvm, docker та декілька інших "сучасних" інструментів).
Це приємно читати на екрані (*), але не так приємно, коли ви хочете передати висновок у файл журналу або через транспорт, який не працює з ANSI добре, як різні інструменти віддаленого виконання та веб-моніторингові рішення. Багато більш зрілих інструментів принаймні мали пристойність виявити, коли вихід не є TTY та відключити колір, але не з тими новими роздутими "user-friendly" CLI - що дозволяє мені спробувати позбутися від ANSI кольорів за допомогою трубопроводів вихід через ще один процес.
s/\x1B\[[0-9]*\w//g
Здається, що через виведення результату начебто вдається виконати роботу, але чи є більш чистий підхід, а потім просто скопіювати вставлення регулярних виразів у всі мої сценарії?
(*) принаймні, поки інструмент не спробує відобразити помилки темно-червоного кольору на вашому терміналі темного фону.
is there a cleaner approach then just copy pasting regular expressions into all of my scripts?
- Збережіть ваш фільтр очищення у файл під назвою '/ usr / local / bin / stripttycolor.sh` або щось таке? Таким чином, у вас є регулярний вираз, приурочений до одного місця?
--no-color
прапор. Багато інших команд також мають подібні прапори.
bower
.