Begrenzen Sie die Anzahl der gleichzeitig angezeigten Zeilen, indem Sie den Befehl ausführen

Begrenzen Sie die Anzahl der gleichzeitig angezeigten Zeilen, indem Sie den Befehl ausführen

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:

  1. 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.
  2. Eine zusätzliche Anwendung, die dies kann, wird von der Konsole als Wrapper für Ihre Anwendung gestartet screenund tmuxkann es wahrscheinlich tun, aber ich weiß nicht wie.
  3. Eine Anwendung, die dies kann und an die Sie die Konsolenausgabe Ihrer Anwendung weiterleiten können, multitailpasst 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 multitailes ist für Linux verfügbar, z. B. als Ubuntu-Paket.

verwandte Informationen