GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum generiert Clang bei der Weiterleitung unverständlichen Text?

Es hat nichts mit Codepages/Codierung zu tun. Ihre Ausgabe ist kein einfacher Text. Es enthält die Sequenzen wie [0;1;32m . Diese Zeichenfolgen (es gibt auch ein nicht gezeigtes [Escape]-Zeichen vor jeder dieser Zeichenfolgen) sind Anweisungen an das Terminal, um Text fett, kursiv, in verschiedenen Farben usw. anzuzeigen. Dies führt zu einer leichter lesbaren Ausgabe, wenn Ihr Terminal unterstützt es.

Es sollte eine Option geben, um clang anzuweisen, nicht zu versuchen, die Ausgabe zu verschönern, sondern stattdessen einfachen Text zu verwenden. Überprüfen Sie das Handbuch. (Ich habe keinen zur Hand, also kann ich Ihnen nicht sagen, was der richtige Befehl wäre.)


Anstatt die Farben aus der Ausgabe zu entfernen, können Sie alternativ die farbige Ausgabe in Ihrem Terminal anzeigen, indem Sie die Raw-Option von less verwenden

less -r output.txt

Diese Zeichen wie [0;33m sieht für mich nach Terminalausgabesteuerung aus. Sie sind Teil einer Reihe von Escape-Sequenzen, die häufig zum Anwenden von Farben auf Text im Terminal verwendet werden. In seinem rohen Zustand wie diesem wird es auch oft zum Anwenden von Farbe auf die Bash-Eingabeaufforderung selbst verwendet - Folgendes habe ich in .bashrc verwendet seit Jahren auf allen meinen Maschinen:

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

(Die meisten finden es hässlich, aber ich mag es).

Sehen Sie, ob Sie in der Lage sind, einen Schalter zu finden, um Farbcodierungen oder ähnliches aus der Ausgabe Ihrer Befehle zu entfernen, und sehen Sie, ob das hilft.


Linux
  1. Wie entscheidet ein Programm, ob es eine farbige Ausgabe haben soll oder nicht?

  2. Ssh – Wie fragt Ssh nach einem Passwort, wenn alle Ein- und Ausgaben umgeleitet werden?

  3. „Schwanz -f | Iconv -fsjis“ gibt nichts aus?

  4. Warum gibt Ls -l eine andere Größe als Ls -s aus?

  5. Warum verwendet rsync keine Delta-Übertragung für lokale Dateien?

Text auf der Terminalausgabe suchen?

Bash-Skripting:So geben Sie Text in der Linux-Shell aus und formatieren ihn

Warum wird diese Shell-Pipeline beendet?

Warum gibt Linux beim Drücken von Strg+C immer ^C aus?

Wann wird ein Signal behandelt und warum frieren einige Informationen ein?

iftop - wie erzeuge ich eine Textdatei mit ihrer Ausgabe?