Markieren Sie ein einzelnes Wort * immer * in einem Terminal

4131
scravy

Gibt es einen Terminal-Emulator (wie ein GNOME-Terminal) für Linux / Unix, der es ermöglicht, immer ein einzelnes Wort hervorzuheben (z. B. "das Wort FAIL rot hervorheben")? Oder vielleicht gibt es ein Plugin für das GNOME-Terminal (wenn so etwas wie "Plugins für das Gnome-Terminal" existiert).

Die Lösung sollte das Wort hervorheben, unabhängig davon, welche Anwendung innerhalb des Terminals ausgeführt wird, dh cat test.txtdas Wort sollte das Wort sowie hervorheben make all.

Jede Hilfe wird von meinen trüben Augen sehr geschätzt.

6
KDE Konsole hebt jedes Wort hervor, das sich in der Suchleiste befindet. Sie können dies unter Gnome ausführen. Funktioniert das? Paul vor 12 Jahren 0
@Paul Danke, das ist ein Anfang :-) scravy vor 12 Jahren 0

3 Antworten auf die Frage

7
jfg956

Mit Bash können Sie das Wort "FAIL" mit den folgenden Befehlen rot hervorheben:

txtred=$(echo -e '\e[0;31m') txtrst=$(echo -e '\e[0m') bash | sed -e "s/FAIL/$FAIL$/g" 

Was es tut, ist das Erstellen einer neuen Bash-Shell und das Bearbeiten von stdout dieser neuen Shell mit sed. Wenn Sie die stdout-Edition beenden möchten, tippen Sie einfach exitauf, um zur vorherigen Shell zurückzukehren. Weitere Farbbefehle finden Sie hier . Die echo -eVariation ist erforderlich, um den tatsächlichen ESCAPE-Wert von zu erhalten \e.

Ich habe es mit echound catin dieser Subshell ausprobiert und es funktioniert. Es unterbricht jedoch Programme, die ein Terminal wie ihre Ausgabe erwarten vi. Ich denke, es würde auch Programme mit spezieller Ausgabepufferung brechen. Es unterbricht auch Befehle wie echo -n FAILund ändert das Verhalten von Befehlen wie ls(ls druckt viele Dateien pro Zeile, wenn die Ausgabe ein Terminal ist, und eine Datei pro Zeile, wenn die Ausgabe eine Pipe ist).

1
golimar

Clide funktioniert gut. Ich verwende es auf RHEL 6.2 aus dem EPEL-Repository

-2
user674717

Sie können verwenden

cat filename|grep word -w 

wo filenameist der Name der Datei und worddas Wort, das Sie hervorheben möchten.