Hallo Liste,

ich habe ein kleine Problem was die Größe von Logfiles angeht.
Hin und wieder nehmen die eine Größenordnung an, dass es nimmer lustig ist.
Leider kann ich nicht einfach das Logfile wegkopieren und dann per gz packen, sondern ich muss aus dem bestehenden Logfile alles ausschneiden, in ein anderes file packen, und dann kann ich die Zeilen da rauslöschen. Ich habe das mal versucht,
so hier zu realisieren:

$1 -> logfile
$2 -> neues gepacktes logfile

LINES=`cat $1 | wc -l`;
head -n$LINES $1 | gzip -c > $2.gz;
vi -c "1,$LINES:d" -c "wq" $1;
echo "$LINES Zeilen von $1 nach $2.gz gepackt.";
LINES="";

Das geht auch soweit ganz gut, nur habe ich dabei ein kleines Problem.
vi ist dafür einfach definitv zu langsam. Bei einem Logfile von 2 GB bin ich schneller,
<übertreibung>wenn ich das von Hand abschreibe</übertreibung>.
Hat jemand eine Idee, wie ich effektiver eine Anzahl von "x" Zeilen aus einer Datei
löschen kann?

Grüße, Peter
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an