Dernièrement, les outils de ligne de commande ont eu tendance à utiliser des couleurs ANSI fantaisie dans leur sortie de journal (par exemple, NPM et une foule d'outils basés sur nodejs, rvm, docker et quelques autres outils "modernes").
Cela le rend agréable à lire à l'écran (*), mais pas si agréable lorsque vous souhaitez diriger la sortie vers un fichier journal ou via un transport qui ne gère pas bien ANSI, comme divers outils d'exécution à distance et solutions de surveillance basées sur le Web. Beaucoup d'outils plus matures ont au moins eu la décence de détecter quand la sortie n'est pas un TTY et de désactiver la couleur, mais pas avec ces nouvelles CLI "faciles à utiliser" - ce qui me laisse essayer de me débarrasser des couleurs ANSI par piping la sortie à travers encore un autre processus.
Séduire la sortie s/\x1B\[[0-9]*\w//g
semble faire le travail, mais y a-t-il une approche plus propre alors copier simplement coller des expressions régulières dans tous mes scripts?
(*) au moins jusqu'à ce que l'outil essaie d'afficher les erreurs en rouge foncé sur votre terminal à fond sombre.
is there a cleaner approach then just copy pasting regular expressions into all of my scripts?
- Enregistrez votre filtre de nettoyage dans un fichier appelé '/ usr / local / bin / stripttycolor.sh` ou quelque chose? De cette façon, vous avez le regex confiné à un seul emplacement?
--no-color
indicateur. De nombreuses autres commandes ont également des indicateurs similaires.
bower
.