Ich habe ein paar Befehle, die ich im Terminal ausführe und die alles ausgeben, was sie tun, was großartig ist, aber ich muss nicht mein gesamtes Fenster mit Tausenden von Eingabezeilen füllen. Gibt es eine Möglichkeit, nur die letzten x Zeilen anzuzeigen und den Rest zu entfernen?
Antwort1
Sie können den Befehl tail verwenden. Er listet nur die letzten Zeilen einer vom Benutzer angegebenen Datei auf. Auf Wunsch listet er auch nur die letzten Zeilen in Echtzeit auf. tail -n 5 druckt die letzten 5 Zeilen. Führen Sie einfach man tail aus, um weitere Optionen zu erhalten.
Antwort2
Ohne zu wissen, für welche Befehle Sie viele Ausgaben sehen, kann ich sagen, dass Sie die Anzahl der Zeilen, die mit dem Tail-Befehl auf dem Terminal ausgegeben werden, begrenzen können, indem Sie eine „Pipe“ verwenden, um die Ausgabe des 1. Befehls an den 2. Befehl zu senden. Ein Beispiel wäre:
ls | tail -n 5
Anstatt die Ausgabe des ls-Befehls auf den Bildschirm zu senden, sendet (oder leitet) er sie an den tail-Befehl weiter. Der tail-Befehl druckt hier die letzten 5 Zeilen der ls-Ausgabe, da „-n 5“ angegeben ist.
Antwort3
Die Konsolenausgabe besteht nur aus Zeilen, die einzeln in einen Ausgabestrom (Standardausgabe oder Standardfehler) geschrieben werden. Konsolenfenster und Terminalanwendungen zeigen nur diese an und scrollen die vorherigen nach oben. Sie können keine bereits gedruckten Zeilen löschen. Sie müssen entweder:
- Eine Konsolen-/Terminalanwendung mit der integrierten Möglichkeit, alle bis auf den letzten wegzulassenNZeilen beim Neuzeichnen nach Erhalt einer neuen Zeile; das könnte möglich sein, aber ich weiß nicht wie.
- Eine zusätzliche Anwendung, die dies kann, wird von der Konsole als Wrapper für Ihre Anwendung gestartet
screen
undtmux
kann es wahrscheinlich tun, aber ich weiß nicht wie. Eine Anwendung, die dies kann und an die Sie die Konsolenausgabe Ihrer Anwendung weiterleiten können,
multitail
passt beispielsweise hierhin:find | env LINES=10 multitail -j
zeigt die Ausgabe von an
find
, wobei nie mehr als 10 Zeilen gleichzeitig angezeigt werden.
Sie haben nicht angegeben, welches Betriebssystem Sie verwenden, aber multitail
es ist für Linux verfügbar, z. B. als Ubuntu-Paket.