Hm, less
kann das offenbar nicht tun. Der Teil in less 'Quellcode, der das "Folgende" implementiert, scheint zu sein:
A_F_FOREVER: /* * Forward forever, ignoring EOF. */ if (ch_getflags() & CH_HELPFILE) break; cmd_exec(); jump_forw(); ignore_eoi = 1; while (!sigs) { make_display(); forward(1, 0, 0); } ignore_eoi = 0;
Was mein (begrenztes) Wissen von C betrifft, bedeutet dies, dass bei aktiviertem "follow" weniger Wille gilt:
- bis zum Ende der Eingabe suchen
- Lesen und aktualisieren Sie die Anzeige in einer Schleife, bis Sie Strg-C drücken
Wenn die Eingabe eine Pipeline ist, wird 1. nicht zurückgegeben, bis die Pipeline EOF signalisiert. Wenn ich benutze tail -f xx|less
, signalisiert die Pipe niemals EOF, also hängt weniger :-(.
Ich habe jedoch einen Weg gefunden, um zu bekommen, was ich will:
tail -f inputfile | recode latin1.. > /tmp/tmpfile
dann
less +F /tmp/tmpfile
Dies wird funktionieren, da weniger + F an einer echten Datei arbeiten kann. Es ist immer noch etwas umständlich, da recode
anscheinend nur Daten in Blöcken von 4096 Bytes verarbeitet werden, aber es funktioniert ...