Ich habe Ihre Frage gefunden, als ich die gleiche Antwort für mich gesucht habe.
Enttäuscht von der akzeptierten Antwort fand ich eine Problemumgehung. Es ist weniger als ideal, aber es ermöglicht mir, meine Position in dem Protokoll zu markieren, mit dem ich verfolge less
, worauf es ankommt.
Ich habe ein kleines ausführbares Skript (ich habe es genannt marklog
) mit den folgenden Inhalten erstellt und es in meinen Pfad eingefügt:
#!/bin/sh
echo >> $1
echo >> $1
echo >> $1
echo `date` ---------------------------------------------------------------------- >> $1
echo >> $1
echo >> $1
Dies funktioniert natürlich nur, wenn Sie Schreibzugriff auf die Protokolldatei haben - was in vielen Situationen ein Deal-Breaker sein kann. Ich habe auch diese Version erstellt, mit der ich in Protokolldateien schreibe, die ich nicht besitze (auf die ich aber Sudo-Zugriff habe):
#!/bin/sh
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
Diese Skripte bieten genau die Art von visueller Unterbrechung, nach der ich gesucht habe. Es gibt mindestens drei Möglichkeiten, wie Sie sie verwenden können:
An dem Punkt, an dem Sie bei der Verwendung normalerweise einige Male die Eingabetaste drücken tail -f
, führen Sie stattdessen die Ausführung marklog
von einem anderen Terminal aus (geben Sie den Pfad zur Protokolldatei als Argument an).
Verwenden Sie diese Option, um das Skript CtrlZanzuhalten, less
damit Sie es im selben Terminalfenster ausführen können. Wenn Sie es jedoch erneut in den Vordergrund stellen less
( fg
natürlich mit), befindet es sich nicht mehr im Verfolgungsmodus, sodass Sie erneut drücken müssen ShiftF...
Schließlich - und dies ist möglicherweise der bequemste Weg, da Sie den Pfad zur Protokolldatei nicht eingeben müssen : Führen Sie ihn marklog
direkt less
durch Eingabe aus !marklog %
. Less
ersetzt den aktuellen Dateinamen %
. Reagiert less
jedoch nicht auf die! Während es sich im "Follow" -Modus befindet, müssen Sie CtrlCzuerst drücken, um den Follow-Modus zu verlassen, ausführen !marklog %
und dann ShiftFerneut.
Mit Methode 3 erhalten Sie außerdem den zusätzlichen Bonus des Befehlsverlaufs von Less: Drücken Sie einfach die Taste !
und wählen Sie mit dem Aufwärtspfeil den neuesten Befehl aus (für mich ist dies immer der Fall marklog
).
Hoffe das hilft jemandem so sehr wie mir schon geholfen hat.