Wenn ich den Inhalt von Dateien betrachte, möchte ich automatisch cat
Dateien less
kurzschließen, die jedoch die Bildschirmgröße überschreiten. Ich könnte etwas mit verwenden wc -l
, aber gibt es einen besseren Weg, der vielleicht auch die Fenstergröße / aktuelle Anzahl der verfügbaren Zeilen berücksichtigt?
12
git log
dem genau das passiert. Sie wissen nie im Voraus, was Sie bekommen werden (müssen Sie schlagenq
?).cat
Anzeigen von Dateien vermeiden . Normalerweise sollten Sie nurcat
den Inhalt einer Datei an stdout senden, damit sie an einen anderen Prozess weitergeleitet werden kann. Der Grund für das Vermeiden der Verwendungcat
zum Anzeigen ist, dass die unformatierten Bytes an das Terminal gesendet werden, was dazu führen kann, dass unerwartete Terminalbefehle ausgeführt werden. . Normalerweise sollten Sie einen Pagerless
oder einen Editor verwenden, der Sonderzeichen für die Anzeige formatiert, damit sie vom Terminal nicht interpretiert werden.cat -v
es zumindest, damit Sonderzeichen ausgeblendet werden.cat
möglich? Das könnte eine bessere Lösung seincat -v
ausAntworten:
Um Ihnen die Formel mit der
wc
-basierten Prüfung zu geben:Es gibt eine
$LINES
Shell-Variable, die auch verwendet werden kann:Aber
$LINES
wird nur aktualisiert , wenn an der Eingabeaufforderung. Um zu verstehen, was ich meine, führen Sie dies aus und ändern Sie die Größe des Terminalfensters währendsleep
:quelle
less
wenn zB 2/3 des Bildschirms von verwendet werdencat
.Möglicherweise ist 'less -F file_to_read' die Option: Es wird weniger beendet, wenn das Fenster ausreicht, um die gesamte Datei anzuzeigen, und auf den Pager gewartet, wenn dies nicht der Fall ist
quelle
-X
Option wird das Löschen abgebrochen, sodass kurze Dateien angezeigt werden, wie dies auch dercat
Fall ist. Leider wird mit-X
dem Bildschirm auch nach dem Anzeigen langer, gescrollter Dateien nichts gelöscht.cat
genannt wurden auch