Interaktive Ausgabe filtern (oben)

Interaktive Ausgabe filtern (oben)

Wie kann ich die Ausgabe eines „selbstaktualisierenden“ Programms filtern und topgleichzeitig seine Funktionalität intakt halten?

Ich möchte beispielsweise meinen Benutzernamen in topder Ausgabe von hervorheben. Meine Idee ist, etwas wie das Folgende zu verwenden:

top | grep --color -E "user|$"

Dies funktioniert insoweit, als dass der Benutzername tatsächlich hervorgehoben wird, allerdings steht der Cursor im obersten Programm nicht an der richtigen Stelle und die letzte Zeile fehlt.

Ich habe ähnliche Ergebnisse mit anderen interaktiven Shell-Programmen wie wget (Versuch, den Fortschrittsbalken mithilfe von Escape-Sequenzen hervorzuheben) und rsync erzielt. Wie kann ich die Ausgabe eines interaktiven Programms richtig filtern?

Antwort1

Keine Ahnung, ob das funktioniert (ich habe es noch nie benutzt).

Versuchen Sie grc.

http://korpus.juls.savba.sk/~garabik/software/grc.html

Ich habe es in diesem Beitrag gesehen, wo sie es mit tail -f zum Laufen gebracht haben. Dort werden auch eine Reihe anderer Möglichkeiten erwähnt, die man ausprobieren könnte.

https://unix.stackexchange.com/questions/8414/how-to-have-tail-f-show-colored-output?newsletter=1&nlcode=17737|321c

HTH

Etwas verwandten Beispielcode gefunden unter https://unix.stackexchange.com/questions/26313/colored-find-output

habe das „find“ durch „top“ ersetzt und ein bisschen mit der Case-Anweisung herumgespielt, als hätte ich *bigbird*) als Case (meinen Benutzernamen). Das Skript war nicht zufrieden mit mir, aber es hat einige farbige Ausgaben erzeugt (zusammen mit Fehlermeldungen, weil ich es nur zerhackt und nicht richtig codiert habe). Es scheint (zumindest teilweise) ein Proof of Concept zu sein.

verwandte Informationen