GNU/Linux >> Linux Esercitazione >  >> Linux

Perché clang genera testo incomprensibile quando viene reindirizzato?

Non ha nulla a che fare con codepage/codifica. Il tuo output non è testo semplice. Contiene le sequenze come [0;1;32m . Queste stringhe (c'è anche un carattere [escape], non mostrato, prima di ciascuna di esse) sono istruzioni per il terminale per mostrare il testo in grassetto, corsivo, in vari colori, ecc. Ciò si traduce in un output più facile da leggere, se il tuo terminale lo supporta.

Dovrebbe esserci un'opzione per dire a clang di non cercare di abbellire l'output, ma di utilizzare invece testo normale. Controlla il manuale. (Non ne ho uno a portata di mano, quindi non posso dirti quale sarebbe il comando corretto.)


In alternativa, invece di rimuovere i colori dall'output, puoi visualizzare l'output colorato nel tuo terminale utilizzando l'opzione raw di less

less -r output.txt

Quei caratteri, come [0;33m mi sembra il controllo dell'uscita del terminale. Fanno parte di una serie di sequenze di escape utilizzate frequentemente per applicare i colori al testo nel terminale. Nel suo stato grezzo come questo è anche spesso usato per applicare il colore al prompt di bash stesso - Ecco cosa ho usato in .bashrc per anni su tutte le mie macchine:

export PS1='\[\033[1;33m\]\u\[\033[1;35m\]@\[\033[1;32m\]\h\[\033[0;36m\]\w\[\033[1;37m\]\$ \[\033[0;37m\]'

(La maggior parte pensa che sia brutto, ma a me piace).

Vedi se riesci a trovare un interruttore per rimuovere qualsiasi codice colore o simili dall'output dei tuoi comandi e vedi se questo aiuta.


Linux
  1. Perché OpenStack segnala il tipo Hypervisor come QEMU quando libvirt_type è KVM?

  2. Perché la sostituzione del comando Shell divora un carattere di nuova riga finale?

  3. Perché rsync non utilizza il trasferimento delta per i file locali?

  4. Perché slabtop -o restituisce solo le prime 23 righe quando il comando viene reindirizzato?

  5. iftop - come generare un file di testo con il suo output?

Cerca testo sull'output del terminale?

Bash Scripting:come generare e formattare il testo su Linux Shell

Come eseguo l'output di testo colorato su un terminale Linux?

Perché questa pipeline di shell termina?

Quando viene gestito un segnale e perché alcune informazioni si bloccano?

Perché `cat /dev/urandom` rompe il tuo terminale?