Linux Bash Script, hilfe benötigt?
Hallo zusammen,
Ich möchte gerne zwei Bash Files erstellen. In dem ersten schreibt das File verschiedene Sachen in ein, auf abfrage gewähltes File rein. Nun das zweite File soll die Farbe des Textes von File 1 ändern und dies zufällig (z.B. in 5 verschiedenen Farben und bei Ausführung wird eine von den 5 Radom gewählt). Es soll den Text "färben" der in ein File seiner Wahl geschrieben wird.
Ich freue mich über jede Hilfe!
Was meinst du mit "Farbe ändern"?
Soll die Farbe auf dem Bildschirm angezeigt werden? Soll eine Datei um Farbinformationen ergänzt werden?
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.
(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
Dateibetrachter "most" (ein pager ähnlich less) stellt Texte mit eingebetteten Attributen dar.
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".