Lösung
Eine weniger manuelle Version von knitatoms' answer mit Alex Marteilli's answer Werken kombiniert recht gut: übergeben Sie die +Gg
Option less
über seinen Pager-Option.
Zum Beispiel versuchen
man -P 'less -s -M +Gg' man
Dies kann, indem
export MANPAGER='less -s -M +Gg'
in einem Ihrer Shell-Konfigurationsdateien permanent erfolgen (siehe oben Syntax ist für Bash und ZSH). Jetzt, zum Beispiel, man man
zeigt den Prozentsatz wie Sie gesucht!
Warnung
Sie sollten nicht setzen die +Gg
in der LESS
Variable! Zum Beispiel tun
export LESS='-M +Gg'
wird zu Problemen führen, wenn sehr große Dateien zu lesen. Zum Beispiel
yes | LESS='-M +Gg' less
nicht sehr gut ...
Erklärung
Wie andere Antworten haben erklärt, nicht funktioniert, ist das Problem, dass less
nicht sagen kann, wie viele Prozent in die Datei, die Sie bis es weiß, wie lange die Datei ist, und es liest nicht standardmäßig bis zum Ende der Datei beim Lesen von einer Rohrleitung.
Vom OPTIONS
Abschnitt man less
:
+ If a command line option begins with +, the remainder of that
option is taken to be an initial command to less. For exam‐
ple, +G tells less to start at the end of the file rather than
the beginning, and +/xyz tells it to start at the first occur‐
rence of "xyz" in the file. As a special case, +<number> acts
like +<number>g; that is, it starts the display at the speci‐
fied line number (however, see the caveat under the "g" com‐
mand above). If the option starts with ++, the initial com‐
mand applies to every file being viewed, not just the first
one. The + command described previously may also be used to
set (or change) an initial command for every file.
Die g
bedeutet "Rückkehr zum Anfang der Datei".
Vom man man
:
-P pager, --pager=pager
Specify which output pager to use. By default, man uses pager
-s. This option overrides the $MANPAGER environment variable,
which in turn overrides the $PAGER environment variable. It
is not used in conjunction with -f or -k.
The value may be a simple command name or a command with argu‐
ments, and may use shell quoting (backslashes, single quotes,
or double quotes). It may not use pipes to connect multiple
commands; if you need that, use a wrapper script, which may
take the file to display either as an argument or on standard
input.
Das sieht unendlich rekursiv aus. d.h. der Ruf an den Menschen innerhalb der Funktion wird die Funktion "Mann" nennen, nicht den ausführbaren "Mann". – Yuliy
Ich öffnete einen neuen Thread für das neue Problem: http://StackOverflow.com/Questions/1053707/unable-to-make-a-Shell-Function-in-Bash-Zsh –
@Yuliy: Sie haben die Crux verschieben. Wir müssen die Mann-Funktion irgendwie lösen, indem wir vielleicht eine Dummy-Variable darauf setzen. –