Ultimamente c'è stata la tendenza da parte degli strumenti della riga di comando di usare fantasiosi colori ANSI nel loro output di log (ad esempio, NPM e una serie di strumenti basati su nodejs, rvm, docker e alcuni altri strumenti "moderni").
Ciò rende piacevole la lettura sullo schermo (*), ma non è così piacevole quando si desidera reindirizzare l'output in un file di registro o tramite un trasporto che non gestisce bene ANSI, come vari strumenti di esecuzione remota e soluzioni di monitoraggio basate sul web. Molti strumenti più maturi hanno avuto almeno la decenza di rilevare quando l'output non è un TTY e disabilitano il colore, ma non con quelle nuove CLI "user friendly", che mi lasciano il tentativo di sbarazzarmi dei colori ANSI tramite piping l'output attraverso l'ennesimo processo.
Sedare l'output s/\x1B\[[0-9]*\w//g
sembra portare a termine il lavoro, ma esiste un approccio più pulito quindi copiare e incollare espressioni regolari in tutti i miei script?
(*) almeno fino a quando lo strumento non tenta di visualizzare errori in rosso scuro sul terminale di sfondo scuro.
is there a cleaner approach then just copy pasting regular expressions into all of my scripts?
- Salvare il filtro di pulizia in un file chiamato '/ usr / local / bin / stripttycolor.sh` o qualcosa del genere? In questo modo hai regex confinato in una singola posizione?
--no-color
flag. Molti altri comandi hanno anche flag simili.
bower
.