Linux Bash Script, hilfe benötigt?

PWolff  06.10.2022, 15:08

Was meinst du mit "Farbe ändern"?

Soll die Farbe auf dem Bildschirm angezeigt werden? Soll eine Datei um Farbinformationen ergänzt werden?

ArS123570 
Fragesteller
 06.10.2022, 16:29

Der text soll mit dem Command: "cat filename" farbig, im Terminal ausgegeben werden.

Am besten hat dann jede Zeile jeweils eine andere Farbe.

3 Antworten

Wenn der Text z.B. in einem term ausgegeben werden soll, kannst du Terminal Control Sequenzen einfügen (google nach ANSI oder VT52 oder Escape Sequenzen für Ausgabesteuerung).

Ansonsten ist es abhängig davon, wie und womit du den Text darstellen möchtest, denn dadurch wird bestimmt, mit welcher Methode du die Farben änderst - Text alleine als solcher kennt nur Zeichen, aber keine Farben, genausowenig wie "Alphabet" Farben kennt.

Woher ich das weiß:Hobby – langjähriger Implementator von Skurrilem

(Danke an Bushmills145 für die Idee mit den ANSI-Escape-Sequenzen)

Mit cat geht das nicht - ich würde mich auch schön bedanken, wenn ich versehentlich eine Binärdatei ausgebe, und sich herausstellt, dass da zufällig eine "ANSI-Bombe" in dieser Datei ist.

Da brauchst du schon ein Progrämmchen, das ANSI-Escape-Sequenzen umsetzt - siehe https://unix.stackexchange.com/questions/266921/is-it-possible-to-use-ansi-color-escape-codes-in-bash-here-documents


Bushmills145  07.10.2022, 00:19

Dateibetrachter "most" (ein pager ähnlich less) stellt Texte mit eingebetteten Attributen dar.

0

Textfiles haben per definitionem keine Formatierungen und folglich kannst Du in einem Textfile auch keine Textstellen farblich markieren.

Für Dein Vorhaben musst Du Dir ein Dateiformat suchen mit dem Du so etwas machen kannst - z.B. "html".