Wenn ich es richtig verstanden habe, möchten Sie eine Terminalausgabe in einer Textdatei speichern, oder? Aber Sie möchten, dass es mit Farben formatiert wird. Wenn das der Fall ist, sind hier meine Ideen:
Ausgabe automatisch markieren
Wie Sie wahrscheinlich wissen, kann eine Grep-Ausgabe nicht formatiert werden, da es sich um eine Textdatei handelt. Soweit ich weiß, können Sie das also nicht auf einfache Weise tun.
Trotzdem gibt es eine einfache Problemumgehung, die darin besteht, Ihrem Texteditor klar zu machen, welche Art von Datei geöffnet wird. Nehmen wir zum Beispiel an, Ihre grep-Ausgabe enthält einige bash-Komponenten, sodass die bash-Hervorhebungen für Sie funktionieren (dies sind übrigens oft die Farben, die Sie in einer farbigen Ausgabe im Terminal sehen). Der Trick besteht also darin, die Textausgabe in einer Datei mit der richtigen Erweiterung zu speichern. Anstatt etwas zu tun wie:
ls | grep something > output
Sie können für gehen
ls | grep something > output.sh
Dadurch erkennt gedit (oder ein beliebiger anständiger Texteditor) automatisch, dass es sich um Bash-Code handelt, und hebt ihn entsprechend hervor. Sie brauchen die Ausgabe nicht einzufärben, das Programm erledigt dies für Sie, wenn es den Typ des Codes erkennt, den es öffnet. Wenn Sie mit anderen Formaten arbeiten, passen Sie die Erweiterung einfach an das an, auf das Sie zugreifen möchten (z. B.> output.xml,> output.html,> output.py ... etc). Viel Glück! :)
Hervorheben einiger Wörter in der Ausgabedatei
Wenn ich es verstanden habe, möchten Sie die gesuchten Wörter hervorheben. Auch dies ist in einer Nur-Text-Datei nicht möglich, nur weil es sich um einen Nur-Text handelt. Sie können jedoch auf sehr einfache Weise ein Format hinzufügen, z. B. mit HTML-Codierung. Dadurch wird Ihre Ausgabe in einen HTML-Code umgewandelt. Wenn Sie ihn mit einem Programm öffnen, das HTML interpretieren kann (libreoffice writer, firefox und 10000 usw.), werden einige Wörter hervorgehoben.
Nehmen wir dazu an, dies ist Ihr grep, das nach html exportiert wurde:
ls | grep keytext > output.html
Und jetzt möchten Sie den Schlüsseltext in Ihrer Ausgabe hervorheben . Sie können sed verwenden , um es zu tun, wie:
sed -i 's/keytext/<font color="red">keytext<\/font>/g' output.html
Und violà, jetzt ist dein Schlüsseltext rot hervorgehoben.