[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tee für die letzten N Zeilen



On Saturday 22 March 2014 16:34:07 Peter Funk wrote:
> Hallo Michael,
> 
> Michael Schuerig schrieb am Samstag, den 22.03.2014 um 16:15:
> > Ich möchte in einer Pipe die Ausgabe der vorhergehenden Stufe in
> > eine
> > Datei schreiben, wobei ich aber immer nur die jeweils letzten N
> > Zeilen behalten will.
> 
> In etwa so vielleicht? :
> 
>   N=20
>   Dein_Programm | tee >(tail --lines $N >Dein_Logfile) \
> 
>                 | Dein_zweites_Programm

Trickreich! Auf die Process Substitution wäre ich nicht gekommen. Leider 
erfüllt dieser Ansatz eine wichtige Anforderung nicht, die ich 
allerdings nicht erwähnt hatte. Nämlich dass die letzten N Zeilen auch 
bei einem lang laufenden Prozess immer in einer Datei oder in der 
Kombination von mehreren Dateien stehen.

> > Falls die Performance jemals ein Problem werden sollte könnte ich
> > die
> > Funktionalität dann in Perl/Python/Ruby/C implementieren.
> 
> ...
> 
> Wenn schon, dann nimm bitte Python.
> 
> Das ist leicht zu erlernen und Du tust Dir damit
> selbst einen Gefallen, falls Du später mal in die
> Verlegenheit kommen solltest, Deine eigenen Programme
> selbst wieder verstehen zu müssen.
> 
> Das ist z.B. mit Perl deutlich schwieriger zu erlernen.
> [I guess now I've to put an asbestos suit on ;-)]

Ich arbeite seit 2005 beruflich fast nur noch mit Ruby, da wäre es 
naheliegend das auch hier zu verwenden. Ursprünglich habe ich Ruby ~2000 
gelernt, weil ich eine Skriptsprachen-Alternative zu Perl gesucht habe, 
das ich immer wieder neu lernen musste, wenn ich es mal gebraucht habe. 
Python hat damals gegen Ruby verloren, irgendwie ergibt es sich aber 
doch immer wieder, dass ich ein paar Zeilen schreiben muss. C++ und Java 
habe ich durch jahrelangen Nichtgebrauch weitgehend verlernt. Vielleicht 
sollte ich es mit Erlang versuchen und den Ringpuffer über mehrere 
Prozesse verteilen. =:-)

Michael

-- 
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/


Reply to: