Esiste un modo per mantenere la colorazione del testo passato attraverso il tubo |a head, tail, less, ecc?
Esiste un modo per mantenere la colorazione del testo passato attraverso il tubo |a head, tail, less, ecc?
Risposte:
Presumo che tu stia effettuando il piping lse desideri preservare i codici colore del terminale. Puoi dire ls --color=always(invece del valore predefinito di --color=auto), che conserverà i codici, ma ciò non garantirà che la cosa a cui stai eseguendo il piping sappia come capirli.
Se lo usi glarkinvece grep, proverà a visualizzare con i colori.
Se lo usi lesscon -Resso tenterà di visualizzare con i colori.
git. Ho scoperto che ha una configurazione simile (ad es. git config color.diff always) Che mantiene la colorazione.
git diffoutput come input perché emetterà sempre i codici di escape ANSI.
grep "string" file.txt | headper assicurarmi che il risultato di grep fosse colorato, l'ho appena cambiato ingrep "string" file.txt --color=always | head
Dipende dal programma che genera l'output nella pipe.
head, tailecc. non sono quelli che rimuovono i colori, è il programma che genera i dati che di solito controlla se l'output sta andando alla console (colorato), un file o una pipe (non colorato)
Ho trovato un altro Q&A SU che mostra come mentire ai programmi di piping per l'output come se stessero inviando l'output a una console (emulando una console con unbuffer)
color=automodalità (per far pensare al programma che l'output vada alla console anziché alla pipe)?
head, tailecc., Rileva che viene reindirizzato a un altro programma (in modo che possa generare dati senza colori, ecc.).
head,tailecc. non sono quelli che rimuovono i colori, è il programma che genera i dati che di solito controlla se l'output sta andando alla console (colorato), un file o una pipe (non colorato).